我有一个这样的数据框:
Month/Year Value
01/2018 100
03/2018 200
06/2018 800
缺少02 / 2018、04 / 2018和05/2018的值,因为这些月份的值没有变化。我想要一个数据框,该数据框会导致缺少的月份,并且值按比例增加:
Month/Year Value
01/2018 100
02/2018 150
03/2018 200
04/2018 400
04/2018 600
06/2018 800
感谢您提供解决方案的帮助!
答案 0 :(得分:1)
首先将列转换为DatetimeIndex
,在asfreq
,interpolate
之前添加缺少的日期时间,并在必要时以相同的格式添加strftime
:
df['Month/Year'] = pd.to_datetime(df['Month/Year'], format='%m/%Y')
df = df.set_index('Month/Year').asfreq('MS').interpolate().reset_index()
df['Month/Year'] = df['Month/Year'].dt.strftime('%m/%Y')
print (df)
Month/Year Value
0 01/2018 100.0
1 02/2018 150.0
2 03/2018 200.0
3 04/2018 400.0
4 05/2018 600.0
5 06/2018 800.0