如何使用过去几个月的最新可用数据填充缺失值?

rac*_*elH 2 python datetime dataframe pandas

我有这样的数据帧:

Month/Year  Value   
01/2018     100 
03/2018     200 
06/2018     500 
Run Code Online (Sandbox Code Playgroud)

缺少02/2018,04/201和05/2018的值,因为这些月份的值没有变化.我想有一个包含缺失月份的数据框:

Month/Year  Value   
01/2018     100 
02/2018     100 
03/2018     200 
04/2018     200 
04/2018     200 
06/2018     500 
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

Abd*_*dou 5

一种方法:

df.assign(**{"Month/Year": pd.to_datetime(data["Month/Year"])}).set_index("Month/Year").resample("M").ffill().reset_index()
Run Code Online (Sandbox Code Playgroud)

应该产量:

  Month/Year  Value
0 2018-01-31    100
1 2018-02-28    100
2 2018-03-31    200
3 2018-04-30    200
4 2018-05-31    200
5 2018-06-30    500
Run Code Online (Sandbox Code Playgroud)

df这是您的起始数据帧.它resampled达到了每月的频率,我们使用该.ffill方法填充缺失月份的值.

我选择了单行,但你可以将它分解为更结构化的代码块.您还可以Month/Year在重新采样后重新格式化列.

我希望这有帮助.