在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进行插值。”
答案 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