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

Python pandas 数据框:如何仅计算和显示数据框中缺失值的数量?

Python pandas 数据框:如何仅计算和显示数据框中缺失值的数量?

www说 2021-06-30 14:53:17
我想问一下如何计算和显示数据框中缺失值的数量?我正在使用: df.isna().sum() 但它会显示所有列,包括非缺失值列。如何仅计算和显示数据框中具有降序值计数的缺失值列?
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

在我看来,最简单的方法是删除0值boolean indexing,然后sort_values:


s = df.isna().sum()

s = s[s != 0].sort_values(ascending=False)

或any仅用于过滤至少有一个True(one NaN) 的列:


df1 = df.isna()

s = df1.loc[:, df1.any()].sum().sort_values(ascending=False)

样本:


df = pd.DataFrame({

        'A':list('abcdef'),

         'B':[np.nan,5,np.nan,5,5,np.nan],

         'C':[7,8,9,np.nan,2,3],

         'D':[1,3,5,7,1,0],

         'E':[np.nan,3,6,9,2,np.nan],

         'F':list('aaabbb')

})


s = df.isna().sum()

s = s[s != 0].sort_values(ascending=False)

print (s)

B    3

E    2

C    1

dtype: int64


查看完整回答
反对 回复 2021-07-06
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

您可以使用pipe从总计中删除零值:


>>> df.isnull().sum().sort_values(ascending=False).pipe(lambda s: s[s > 0])

B    3

E    2

C    1

dtype: int64


查看完整回答
反对 回复 2021-07-06
  • 2 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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