在R中为数据框添加指定词汇出现频次的合并统计列
为DataFrame添加指定词汇出现次数统计列
针对你拥有的数千条新闻文章DataFrame,以下是几种高效实现需求的方法:
方法一:正则表达式批量匹配(推荐,高效处理大数据)
通过正则匹配完整目标词汇,一次性统计所有指定词的出现次数:
import pandas as pd import re # 定义需要统计的词汇列表 target_words = ["newyorktimes", "washingtonpost", "the"] # 构建正则模式:\b 确保匹配完整单词,避免部分字符匹配 pattern = re.compile(r'\b(' + '|'.join(target_words) + r')\b') # 假设你的DataFrame变量名为df df['wordlistcount'] = df['text'].apply(lambda x: len(pattern.findall(x)))
如果需要忽略大小写(比如匹配"The"或"NEWYORKTIMES"),可以在re.compile中添加flags=re.IGNORECASE参数。
方法二:逐个词汇统计后求和
代码更简洁,适合词汇数量不多的场景:
import pandas as pd target_words = ["newyorktimes", "washingtonpost", "the"] # 对每个词汇单独统计次数,再求和得到总次数 df['wordlistcount'] = sum(df['text'].str.count(word) for word in target_words)
效果验证
运行上述任意一种代码后,你的DataFrame会新增wordlistcount列,结果与你预期的输出完全一致——比如第2条文本中目标词汇累计出现4次,对应列值为4。
内容的提问来源于stack exchange,提问作者lwe
相关产品推荐
相关产品推荐

