首页 > 解决方案 > 熊猫填充行明智吗?

问题描述

这是一个简单的例子。

d=pd.DataFrame({'x':[1,None,None,3,4],'y':[3,2,3,None,7],'z':[None,None,None,None,None]})
d['t']=d.mean(axis=1)

Out[96]: 
     x    y     z    t
0  1.0  3.0  None  2.0
1  NaN  2.0  None  2.0
2  NaN  3.0  None  3.0
3  3.0  NaN  None  3.0
4  4.0  7.0  None  5.5

我想用行的平均值填充 NA。我添加
为的每一行的平均值t。我想要的结果是:

x y z 
1 3 2
2 2 2
3 3 3
3 3 3
4 7 5.5

标签: pythonpandasfillna

解决方案


你可以这样做:

d.T.fillna(d.T.mean(axis=0), axis=0).T

您必须转置数据框,因为:

d.fillna(d.mean(axis=1), axis=1)

未实现 (NotImplementedError)


推荐阅读