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

R语言如何统计字符列预设词汇频次并新增统计结果列

实现方案

基于Python + pandas处理,全程3步就能搞定:

  • 第一步:导入依赖、读取数据,筛出词典里所有绿色词汇
    先把词典里Polarity == 1的目标词统一转小写存成列表,避免大小写差异导致漏匹配,大样本场景可以提前预编译匹配规则提升运行速度:
    import pandas as pd
    import re
    
    # 替换成你自己的文件实际路径
    post_df = pd.read_csv("post_dataset.csv")
    lexicon_df = pd.read_csv("green_lexicon.csv")
    
    # 提取所有绿色词汇,统一转小写
    green_word_list = lexicon_df[lexicon_df["Polarity"] == 1]["Word"].str.lower().tolist()
    # 预编译所有词的正则匹配规则,减少重复计算
    pattern_map = {word: re.compile(rf'\b{re.escape(word)}\b') for word in green_word_list}
    
  • 第二步:写单条帖子的计数逻辑
    用正则做整词匹配,避免把包含目标词片段的长单词误统计,比如匹配"solar"的时候不会把"solaris"里的词片段算入结果:
    def calc_green_count(post_text):
        text = str(post_text).lower()
        count = 0
        for word, pattern in pattern_map.items():
            count += len(pattern.findall(text))
        return count
    
  • 第三步:给原数据集新增统计列
    直接对Post列逐行应用计数函数,生成的新列就是每条帖子的绿色词汇总出现次数:
    post_df["green_word_total"] = post_df["Post"].apply(calc_green_count)
    
    # 处理完成后导出保存即可
    post_df.to_csv("post_with_green_count.csv", index=False)
    

适配提示:如果你的帖子/词汇是中文,把正则整词匹配的逻辑换成直接字符串计数就行,也就是把计数部分改成count += text.count(word),不需要用\b做英文单词边界判断。

附参考样例:
原数据集样式:
Data
匹配用词典样式:
Lexicon

内容的提问来源于stack exchange,提问作者Sarah K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:36:19