想用python生成以个以半个月为时间间隔从2021-03开始到2022-03结尾的时间序列数据该怎么写代码,并且以%Y-%m的形式显示出来,想用datetime_range()函数实现
时间: 2023-11-22 07:54:28 浏览: 50
可以使用 `dateutil` 库中的 `rrule` 模块来生成时间序列数据,具体的实现方式如下:
```python
from dateutil.rrule import rrule, MONTHLY
from datetime import datetime
start_date = datetime.strptime('2021-03', '%Y-%m')
end_date = datetime.strptime('2022-03', '%Y-%m')
date_range = list(rrule(freq=MONTHLY, dtstart=start_date, until=end_date))
date_range_str = [date.strftime('%Y-%m') for date in date_range]
print(date_range_str)
```
输出结果为:
```
['2021-03', '2021-04', '2021-05', '2021-06', '2021-07', '2021-08', '2021-09', '2021-10', '2021-11', '2021-12', '2022-01', '2022-02', '2022-03']
```
代码中,首先将起始日期和终止日期转换为 `datetime` 对象,然后使用 `rrule` 函数生成时间序列数据,并使用 `strftime` 函数将时间序列数据格式化为 `%Y-%m` 的形式。最后将格式化后的时间序列数据存储在列表 `date_range_str` 中并输出。