如何统计Pandas DataFrame指定列中特定名称取值的出现次数
问题原因
你使用的df['token'].count('I-Problem')语法不符合Pandas API规范:Series.count()方法的作用是统计序列中非缺失值的总个数,不支持传入指定值做匹配统计,因此无法得到预期结果。
解决方案
方案1:直接返回统计数值(最简便)
通过布尔序列求和的方式统计匹配项数量,直接返回数值5:
result = (df['token'] == 'I-Problem').sum()
方案2:搭配value_counts实现多值统一统计
如果需要同时统计列中所有不同取值的出现次数,可以先调用value_counts()得到频次统计表,再提取指定值的计数:
# 得到所有取值的计数结果 count_df = df['token'].value_counts() # 提取I-Problem的计数 problem_count = count_df['I-Problem'] # 按你需要的格式输出 print(f"I-Problem : {problem_count}")
运行以上代码即可得到你要求的I-Problem : 5输出效果。
内容的提问来源于stack exchange,提问作者Chang
相关产品推荐
相关产品推荐

