Pandasデータフレームの日付に3か月を追加する方法を見つけようとしていますが、範囲を検索するために使用できるように日付形式で保持しています。
これは私が試したものです:
#create dataframe
df = pd.DataFrame([pd.Timestamp('20161011'),
pd.Timestamp('20161101') ], columns=['date'])
#create a future month period
plus_month_period = 3
#calculate date + future period
df['future_date'] = plus_month_period.astype("timedelta64[M]")
ただし、次のエラーが表示されます。
AttributeError: 'int' object has no attribute 'astype'
これを行う方法に関するアイデアはありますか?ありがとう!
pd.DateOffset
を使用できます
In [1756]: df.date + pd.DateOffset(months=plus_month_period)
Out[1756]:
0 2017-01-11
1 2017-02-01
Name: date, dtype: datetime64[ns]
pd.offsets.MonthOffset
を使用する別の方法
In [1785]: df.date + pd.offsets.MonthOffset(plus_month_period)
Out[1785]:
0 2016-10-14
1 2016-11-04
Name: date, dtype: datetime64[ns]
詳細
In [1757]: df
Out[1757]:
date
0 2016-10-11
1 2016-11-01
In [1758]: plus_month_period
Out[1758]: 3