我有一个示例 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
添加回答
举报
0/150
提交
取消