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

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

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号