method参数的作用是对扩展出来部分的缺失值进行插值,对原有部分不做处理。请看例子:
首先初始化一个 6天的数据:
date_index = pd.date_range('1/1/2010', periods=6, freq='D')
df2 = pd.DataFrame({"prices": [100, 101, np.nan, 100, 89, 88]},index=date_index)
输出如下:
使用reindex扩展为11天的数据:
date_index2 = pd.date_range('12/29/2009', periods=11, freq='D')
df_11_days = df2.reindex(date_index2)
对扩展部分进行插值:method参数可以是
None:任性不填
'pad'/'ffill':用前面数填充后面的缺失值
'backfill'/'bfill':用后面数填充前面的缺失值
'nearest':用最近的数填充,这个是最靠谱的
进行插值操作:
df2.reindex(date_index2, method='ffill')
得到:
整个填充过程如下图:
P.S. method参数只适用于index是单调递增或者单调递减的情形。