【问题标题】:Pandas fillna row wise? [duplicate]熊猫填充行明智吗? [复制]
【发布时间】:2019-05-05 09:00:16
【问题描述】:

这是一个简单的例子。

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

【问题讨论】:

    标签: python pandas fillna


    【解决方案1】:

    你可以这样做:

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

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

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

    未实现(NotImplementedError)

    【讨论】:

    • 这是一个很好的解决方案。但我想知道是否有更直接和简单的方法。我想 pandas 的开发者应该也遇到过同样的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 2017-08-04
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多