如何在Python Pandas中统计DataFrame内‘co’的实际出现次数?
解决方案
修改后的完整代码
import pandas as pd #pip install pandas df = pd.DataFrame({'A': ['co', '2', 'coco', '4'], 'B': ['4', '5', '6', 'coco'], 'C': ['4', '13', '2.5coco','coco'], 'D': ['4', '5', 'co','2.5co']}) # 统计每行A、B、C列中"co"的实际出现次数 df['count'] = df[['A', 'B', 'C']].apply(lambda s: s.str.count('co')).sum(axis=1) print(df)
关键改动说明
- 原代码用
str.contains('co')仅判断单元格是否包含"co",返回布尔值(True=1,False=0),统计的是含"co"的单元格数量。 - 替换为
str.count('co')后,会直接返回每个单元格字符串中"co"子串的实际出现次数(比如"coco"会返回2)。 - 最后通过
sum(axis=1)对每行的统计结果求和,得到该行A、B、C列中"co"的总出现次数。
输出示例
执行代码后输出如下:
A B C D count 0 co 4 4 4 1 1 2 5 13 5 0 2 coco 6 2.5coco co 3 3 4 coco coco 2.5co 4
内容的提问来源于stack exchange,提问作者kkerk
相关产品推荐
相关产品推荐

