Pandas Row 均值为 NaN

我有一个示例 pandas DF:


df = pd.DataFrame(np.random.randint(0,10,size =(6,2)),columns=["A","B"])

df.loc[2,"B"]=np.NaN

df

样本 DF:


    A    B

0   5   0.0

1   4   8.0

2   6   NaN

3   8   9.0

4   4   7.0

5   5   4.0

我正在尝试获取mean整个 DF 的DataFrame格式:


pd.DataFrame(df.mean(axis=0)).transpose()

在:


      A          B

0   5.333333    5.6

OP对于column来说是正确的,A但是对于column来说,BOP是5.6因为28/5它最初是6行,并且忽略了具有值的行NaN,有没有办法也包含该行?


预期的 OP - 其中列的位置A和32/6列B的位置28/6:


      A          B

0   5.333333    4.66666666


温温酱
浏览 90回答 1
1回答

叮当猫咪

更简单的方法是将缺失值替换为0,然后Series.to_frame对于一列DataFrame并转置:df = df.fillna(0).mean().to_frame().Tprint (df)          A         B0  5.333333  4.666667解决方案将 DataFrame 的总和除以长度:df = df.sum().div(len(df)).to_frame().Tprint (df)          A         B0  5.333333  4.666667
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python