当前位置:  开发笔记 > 编程语言 > 正文

具有缺失值的列子集的行方式平均值

如何解决《具有缺失值的列子集的行方式平均值》经验,为你挑选了1个好方法。

我有一个'DataFrame`偶尔有缺失值,看起来像这样:

          Monday         Tuesday         Wednesday 
      ================================================
Mike        42             NaN               12
Jenna       NaN            NaN               15
Jon         21              4                 1

我想新添加column到我的数据帧在那里我会计算所有的平均值columns为每row.

意思,因为Mike,我需要 (df['Monday'] + df['Wednesday'])/2,但因为Jenna,我只是使用df['Wednesday amt.']/1

有没有人知道解决由于缺失值导致的这种变化并计算平均值的最佳方法?



1> Stefan..:

你可以简单地说:

df['avg'] = df.mean(axis=1)

       Monday  Tuesday  Wednesday        avg
Mike       42      NaN         12  27.000000
Jenna     NaN      NaN         15  15.000000
Jon        21        4          1   8.666667

因为.mean()默认情况下忽略缺失值:请参阅docs.

要选择子集,您可以:

df['avg'] = df[['Monday', 'Tuesday']].mean(axis=1)

       Monday  Tuesday  Wednesday   avg
Mike       42      NaN         12  42.0
Jenna     NaN      NaN         15   NaN
Jon        21        4          1  12.5

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有