熊猫按比例向前填充

时间:2018-07-26 04:35:30

标签: python pandas

我有一个这样的数据框:

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 

感谢您提供解决方案的帮助!

1 个答案:

答案 0 :(得分:1)

首先将列转换为DatetimeIndex,在asfreqinterpolate之前添加缺少的日期时间,并在必要时以相同的格式添加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
相关问题