想用pandas生成以个以半个月为时间间隔从2021-03开始到2022-03结尾的时间序列数据该怎么写代码,并且以%Y-%m的形式显示出来
时间: 2023-11-22 13:54:31 浏览: 52
你可以按照以下步骤生成这个时间序列:
1. 首先,生成一个以天为间隔的时间序列,从2021-03-01到2022-03-31,可以使用 pandas.date_range 函数来完成,代码如下:
```python
import pandas as pd
start_date = '2021-03-01'
end_date = '2022-03-31'
date_rng = pd.date_range(start=start_date, end=end_date, freq='D')
```
2. 接下来,我们需要对时间序列进行重新采样,以半个月为间隔。可以使用 resample 函数来完成,代码如下:
```python
half_monthly = date_rng.resample('SM').asfreq()
```
上面的代码中,'SM'表示半个月的间隔,其中S表示月初,M表示月中,具体含义可参考 pandas 文档。
3. 最后,我们需要将时间序列的格式转换为%Y-%m的形式,可以使用 strftime 函数来完成,代码如下:
```python
half_monthly_str = half_monthly.strftime('%Y-%m')
```
上面的代码中,'%Y-%m'表示将时间格式化为年-月的形式。
综合上述步骤,完整的代码如下:
```python
import pandas as pd
start_date = '2021-03-01'
end_date = '2022-03-31'
date_rng = pd.date_range(start=start_date, end=end_date, freq='D')
half_monthly = date_rng.resample('SM').asfreq()
half_monthly_str = half_monthly.strftime('%Y-%m')
print(half_monthly_str)
```
运行以上代码,即可得到半个月为间隔的时间序列,以%Y-%m的形式显示出来。
阅读全文