如何使用Pandas统计指定列中?的数量?
统计Pandas列中
?的数量 针对你的需求,这里有几种简单直接的方法,不需要依赖机器学习库:
方法1:布尔索引 + sum()
这是最简洁高效的方式,利用布尔数组的求和特性(True会被视为1,False视为0):
import pandas as pd # 假设你的数据集已经加载到df中 question_mark_count = (df['workclass'] == '?').sum() print(f"workclass列中?的数量:{question_mark_count}")
方法2:value_counts() 配合 get()
如果你想用value_counts(),可以通过字典式的get()方法安全获取?的计数(避免因?不存在而抛出KeyError):
counts = df['workclass'].value_counts() question_mark_count = counts.get('?', 0) # 若没有?则返回0 print(f"workclass列中?的数量:{question_mark_count}")
方法3:过滤后使用count()
先筛选出workclass列值为?的行,再统计行数:
question_mark_count = df[df['workclass'] == '?']['workclass'].count() print(f"workclass列中?的数量:{question_mark_count}")
注意事项
如果数据中的?带有前后空格(比如' ?'或'? '),需要先清理字符串再统计:
question_mark_count = (df['workclass'].str.strip() == '?').sum()
内容的提问来源于stack exchange,提问作者caffeinerecovery
相关产品推荐
相关产品推荐

