Pandas如何筛选DataFrame中特定单词出现次数大于1的字符串条目
你可以通过str.count()方法统计目标单词的出现次数,再基于次数阈值筛选即可,完整实现代码如下:
import pandas as pd df = pd.DataFrame({'Year': ['2020', '2021', '2021'], 'Title': ['Energy calculation', 'Energy calculation with energy', 'Other calculation']}) terms = ['energy'] # 构造正则匹配规则,\b代表单词边界,可避免匹配到包含energy的其他复合词,不需要严格整词匹配可去掉\b match_pattern = r'\b(?:{})\b'.format('|'.join(terms)) # 统计每行Title列的匹配次数,保留次数大于1的记录 filtered_df = df[df['Title'].str.count(match_pattern, case=False, na=False) > 1]
运行后得到的filtered_df就是你需要的仅包含energy出现次数大于1的条目,输出结果如下:
Year Title 1 2021 Energy calculation with energy
补充说明:如果你的需求是匹配连续字符串而非独立单词,直接把匹配规则替换为'|'.join(terms)即可。
内容的提问来源于stack exchange,提问作者TeXlearner
相关产品推荐
相关产品推荐

