重新采样数据帧,插入 NaN 并返回数据帧

时间:2021-02-18 16:28:43

标签: python pandas dataframe interpolation pandas-resample

我有一个包含 3 小时数据的数据框 df

index              , values
2003-01-01 00:00:00, 2.0    
2003-01-01 03:00:00, 1.8    
2003-01-01 06:00:00, 1.4    
2003-01-01 09:00:00, 1.1
....    

我想每小时对数据重新采样一次,并在两者之间线性插入缺失值。我可以实现类似的东西,用 .bfill() 填充缺失值,它看起来像这样:

df2 = df.resample('H').bfill()

我试图改变这个来完成我的任务:

df2 = df.resample('H')
df2.interpolate(method='linear', axis=0, inplace=True)

但与 df2 = df.resample('H') 相比,df2 = df.resample('H').bfill() 不返回数据帧对象,而是返回 pandas.core.resample.DatetimeIndexResampler object

你知道我如何进行重采样和插值吗?你有其他工作吗? Tnx

1 个答案:

答案 0 :(得分:1)

我发现,我可以用 .interpolate() 附加我的初始方法,它会起作用:

df2 = df.resample('H').interpolate()
df2.interpolate(method='linear', axis=0, inplace=True)