You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计Pandas DataFrame每行中指定值的出现次数?

每行统计'ker'出现次数的解决方案

你当前代码的问题在于:df.iloc[0, :].str.count('ker')仅针对第一行的列进行统计,后续赋值给整个count列时,因行索引不匹配导致全部显示为NaN。

以下是两种可行的解决方法:

方法一:使用apply逐行统计

适合中小规模数据集,代码直观易懂:

import pandas as pd

df = pd.DataFrame({'A': ['ker', '2', '3', '4'], 'B': ['4', '5', '6', 'ker'], 'C': ['4', '13', '2.5ser','ker'], 'D': ['4', '5', '6','2.5ser']})
# 逐行统计每个单元格中'ker'的出现次数,再求和得到该行总次数
df['count'] = df.apply(lambda row: row.str.count('ker').sum(), axis=1)

print(df)

方法二:向量化操作(高效)

适合大规模数据集,利用pandas的向量化特性提升效率:

import pandas as pd

df = pd.DataFrame({'A': ['ker', '2', '3', '4'], 'B': ['4', '5', '6', 'ker'], 'C': ['4', '13', '2.5ser','ker'], 'D': ['4', '5', '6','2.5ser']})
# 转换为长格式统计后转回宽格式,再按行求和
df['count'] = df.stack().str.count('ker').unstack().sum(axis=1)

print(df)

两种方法的输出结果一致:

A    B        C        D  count
0  ker    4        4        4      1
1    2    5       13        5      0
2    3    6  2.5ser        6      0
3    4  ker      ker  2.5ser      2

内容的提问来源于stack exchange,提问作者kkerk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 12:02:11