Python如何统计导入的CSV数据中各列的0值总数量?
Pandas统计DataFrame各列0值数量的实现方法
你当前用的统计空值的逻辑可以直接复用,把空值判断替换为0值判断即可:
基础实现(全列统计)
直接对DataFrame做等于0的布尔判断后按列求和,代码如下:
steam_data.eq(0).sum()
该写法和(steam_data == 0).sum()效果完全等价。
进阶使用场景
- 仅统计数值类型列的0值,避免字符串、日期等非数值类型列做无意义的0值判断:
steam_data.select_dtypes(include='number').eq(0).sum()
- 统计整个表所有0值的总数量:
steam_data.eq(0).sum().sum()
逻辑说明
eq(0)会遍历DataFrame的每个单元格,判断取值是否等于0,返回和原表结构一致的布尔值表,布尔值True对应数值1、False对应数值0,调用sum()默认按列求和,最终得到每列的0值总数。该逻辑默认不会把空值误判为0,无需额外做空值过滤处理。
内容的提问来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

