我的 DF 如下所示:
column1 column2
2020-11-01 1
2020-12-01 2
2021-01-01 3
NaT 4
NaT 5
NaT 6
輸出應該是這樣的:
column1 column2
2020-11-01 1
2020-12-01 2
2021-01-01 3
2021-02-01 4
2021-03-01 5
2021-04-01 6
我無法根據 df 中的最后一個現有日期創建下一個日期(僅更改月份和年份)。有沒有pythonic的方法來做到這一點?謝謝你的幫助!
問候托馬斯
uj5u.com熱心網友回復:
這就是我要做的,你可能會把它整理成更多的單襯,但這將有助于更多地說明這個程序。
#convert to date
df['column1'] = pd.to_datetime(df['column1'], format='%Y-%d-%m')
#create a group for each missing section
df['temp'] = df.column1.fillna(method = 'ffill')
#count the row within this group
df['temp2'] = df.groupby(['temp']).cumcount()
# add month
df['column1'] = [x pd.DateOffset(months=y) for x,y in zip(df['temp'], df['temp2'])]
uj5u.com熱心網友回復:
pandas 支持時間序列資料
pd.date_range("2020-11-1", freq=pd.tseries.offsets.DateOffset(months=1), periods=10)
會給
DatetimeIndex(['2020-11-01', '2020-12-01', '2021-01-01', '2021-02-01',
'2021-03-01', '2021-04-01', '2021-05-01', '2021-06-01',
'2021-07-01', '2021-08-01'],
dtype='datetime64[ns]', freq='<DateOffset: months=1>')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/327951.html
