python - 熊猫数据框:在一个语句中识别 NaN 和零值
问题描述
有什么方法可以结合这两个语句
df.isnull().sum()
并
(df == 0).sum()
获得以下概述?
演示:
df = pd.DataFrame({'a':[1,0,0,1,3], 'b':[0,NaN,1,NaN,1], 'c':[0,0,0,0,NaN]})
df
a b c
0 1 0.0 0.0
1 0 NaN 0.0
2 0 1.0 0.0
3 1 NaN 0.0
4 3 1.0 NaN
预期结果:
a 2
b 3
c 5
可能很简单,但我找不到解决方案...感谢您的帮助
解决方案
你的意思是这样的:
In[27]:
(df==0).sum() + df.isnull().sum()
Out[27]:
a 2
b 3
c 5
dtype: int64
编辑
感谢@coldpseed 的建议,您还可以执行以下操作:
In[28]:
df[df!=0].isnull().sum()
Out[28]:
a 2
b 3
c 5
dtype: int64
更简洁,我一直更倾向于清晰,但有时更短的代码会获胜。
推荐阅读
- javascript - Firebase 函数如何正确处理错误
- java - 如何在相似对象列表中检索对象内部的相似值并根据这些值创建地图
- javascript - 如何在 axios 中使用表单数据发出 post 请求?
- ansible - 有没有使用 kvm 的分子角色的好例子?到目前为止得到 {'lint': ['must be of string type']} 错误
- mongodb - 将 Mongodb 中的现有副本集转换为分片集群
- php - 在 Laravel 6 中创建一个使用外键约束的播种器
- java - "数量"怎么读
“在源代码中? - reactjs - 在 feathersJS 中键入客户端对象
- python - 如何在 pyplot.subplots 上下文中进行 kde 绘图?
- android - 在用户从一个视图转换到另一个视图时保持软键盘打开