我试图生成月度数据,其中的天总是在月初的日期范围:
pd.date_range(start='1/1/1980', end='11/1/1991', freq='M')
这产生1/31/1980
,2/29/1980
,等等。相反,我只是想1/1/1980
,2/1/1980
,...
我见过的其他问题请教一下生成的数据,始终是在每月的某一天,有答案说这是不可能的,但是个月,自想必一定是可能的!
您可以通过改变从freq
的'M'
参数'MS'
做到这一点:
d = pandas.date_range(start='1/1/1980', end='11/1/1990', freq='MS')
print(d)
现在,这应该打印:
DatetimeIndex(['1980-01-01', '1980-02-01', '1980-03-01', '1980-04-01',
'1980-05-01', '1980-06-01', '1980-07-01', '1980-08-01',
'1980-09-01', '1980-10-01',
...
'1990-02-01', '1990-03-01', '1990-04-01', '1990-05-01',
'1990-06-01', '1990-07-01', '1990-08-01', '1990-09-01',
'1990-10-01', '1990-11-01'],
dtype='datetime64[ns]', length=131, freq='MS', tz=None)
看看文档的offset aliases一部分。在那里,它指出'M'
是月(月末频率)的结束而'MS'
的开始(月开始频率)。