pandas的reindex方法中的method参数

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)

输出如下:

pandas的reindex方法中的method参数_第1张图片

使用reindex扩展为11天的数据:

date_index2 = pd.date_range('12/29/2009', periods=11, freq='D')
df_11_days = df2.reindex(date_index2) 

pandas的reindex方法中的method参数_第2张图片

对扩展部分进行插值:method参数可以是

None:任性不填
'pad'/'ffill':用前面数填充后面的缺失值
'backfill'/'bfill':用后面数填充前面的缺失值
'nearest':用最近的数填充,这个是最靠谱的
进行插值操作:
df2.reindex(date_index2, method='ffill')

得到:

pandas的reindex方法中的method参数_第3张图片

整个填充过程如下图:

pandas的reindex方法中的method参数_第4张图片

P.S. method参数只适用于index是单调递增或者单调递减的情形。

你可能感兴趣的:(python)