这是一个简单的例子。
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
答案 0 :(得分:1)
您可以这样做:
d.T.fillna(d.T.mean(axis=0), axis=0).T
您必须转置数据框,因为:
d.fillna(d.mean(axis=1), axis=1)
未实现(NotImplementedError)