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

如何使用pandas在CSV文件指定列中查找特定词汇并统计出现次数

问题原因

原代码中使用的str.find()方法作用是返回目标字符串在每行文本中首次出现的下标位置,无匹配时返回-1,因此只会输出整列的数值结果,无法直接得到出现次数的统计值。

解决方案

分两种常用场景提供修改方案:

  • 场景1:统计包含目标词汇的行数(同一行内重复出现仅算1次)
    用str.contains()判断每行是否匹配,结合sum()统计匹配行数:

    import pandas as pd
    
    def count_search_item(searchitem): 
        # 仅读取author列
        df = pd.read_csv('data.csv', usecols=["author"])
        # 匹配目标词汇,na=False用于处理空值避免报错
        match_count = df["author"].str.contains(searchitem, na=False).sum()
        print(f"包含目标词汇的行数:{match_count}")
    
    count_search_item('IMoRT')
    

    如需忽略大小写匹配,可以给str.contains()添加case=False参数。

  • 场景2:统计目标词汇的总出现次数(同一行内重复出现按实际次数累加)
    用str.count()统计每行匹配次数后求和:

    import pandas as pd
    
    def count_search_item_total(searchitem): 
        df = pd.read_csv('data.csv', usecols=["author"])
        # 统计每行出现次数后求和,空值默认返回0
        total_count = df["author"].str.count(searchitem).sum()
        print(f"目标词汇总出现次数:{total_count}")
    
    count_search_item_total('IMoRT')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:24:06