日が常に月の初めである月間データの日付範囲を生成しようとしています:
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'
は月の開始(月の開始頻度)であることが示されています。