为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas Row 均值为 NaN

Pandas Row 均值为 NaN

温温酱 2023-11-09 22:29:39
我有一个示例 pandas DF:df = pd.DataFrame(np.random.randint(0,10,size =(6,2)),columns=["A","B"])df.loc[2,"B"]=np.NaNdf样本 DF:    A    B0   5   0.01   4   8.02   6   NaN3   8   9.04   4   7.05   5   4.0我正在尝试获取mean整个 DF 的DataFrame格式:pd.DataFrame(df.mean(axis=0)).transpose()在:      A          B0   5.333333    5.6OP对于column来说是正确的,A但是对于column来说,BOP是5.6因为28/5它最初是6行,并且忽略了具有值的行NaN,有没有办法也包含该行?预期的 OP - 其中列的位置A和32/6列B的位置28/6:      A          B0   5.333333    4.66666666
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

更简单的方法是将缺失值替换为0,然后Series.to_frame对于一列DataFrame并转置:

df = df.fillna(0).mean().to_frame().T

print (df)

          A         B

0  5.333333  4.666667

解决方案将 DataFrame 的总和除以长度:


df = df.sum().div(len(df)).to_frame().T

print (df)

          A         B

0  5.333333  4.666667


查看完整回答
反对 回复 2023-11-09
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信