使用行和列值

时间:2017-01-27 17:19:27

标签: python pandas dataframe interpolation

在Python Pandas中,我应该如何以一些NaN行和列交互式插入数据帧? 例如,以下数据框 -

             90  92.5        95       100       110       120  
Index                                                           
1            NaN   NaN       NaN       NaN       NaN       NaN   
2       0.469690   NaN       NaN       NaN       NaN       NaN   
3       0.478220   NaN  0.492232  0.505685       NaN       NaN   
4       0.486377   NaN  0.503853  0.518890  0.550517       NaN   
5       0.485862   NaN  0.502130  0.515076  0.537675  0.564383   

我的目标是插值&有效地填充所有NaN,I.E,以插入任何可能的NaN。但是,如果我使用

df.interpolate(inplace=True, axis=0, method='spline', order=1, limit=20, limit_direction='both')

它将返回“TypeError:无法使用所有NaN进行插值。”

1 个答案:

答案 0 :(得分:2)

你可以试试这个(谢谢你@Boud for df.dropna(axis=1, how='all')):

In [138]: new = df.dropna(axis=1, how='all').interpolate(limit=20, limit_direction='both')

In [139]: new
Out[139]:
             90        95       100       110       120
Index
1      0.469690  0.492232  0.505685  0.550517  0.564383
2      0.469690  0.492232  0.505685  0.550517  0.564383
3      0.478220  0.492232  0.505685  0.550517  0.564383
4      0.486377  0.503853  0.518890  0.550517  0.564383
5      0.485862  0.502130  0.515076  0.537675  0.564383