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

统计unique_words列表词汇在dataset['text']中的出现次数并展示TopK高频词

统计指定词汇在文本中的出现频率并取Top K

1. 准备示例数据

import pandas as pd

# 目标词汇列表
unique_words = ['ab', 'bc', 'cd', 'de']
# 示例数据集
dataset = pd.DataFrame({
    'id': ['1x', 'p2'],
    'text': ['ab cd de th sk gl wlqm dhwka oqbdm', 'de de de lm eh nfkie qhas hof']
})

2. 统计每个目标词汇的总出现次数

方法一:遍历统计(适合词汇量较少场景)

word_counts = {}
for word in unique_words:
    # 累加所有文本中该词汇的出现次数
    total_count = dataset['text'].str.count(word).sum()
    word_counts[word] = total_count

方法二:全局拆分统计(适合词汇量较大场景)

from collections import Counter

# 合并所有文本并按空格拆分出所有词汇
all_text_words = ' '.join(dataset['text']).split()
# 统计所有词汇出现次数,再过滤出目标词汇
full_counter = Counter(all_text_words)
word_counts = {word: full_counter.get(word, 0) for word in unique_words}

3. 提取Top K高频词汇

k = 3
# 按出现次数降序排序,取前k个结果
top_k_words = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)[:k]

# 输出结果
for word, count in top_k_words:
    print(f"'{word}', {count}")

示例运行输出

'de', 4
'ab', 1
'cd', 1

注意事项

  • 若文本存在大小写差异,需先统一格式:dataset['text'] = dataset['text'].str.lower()
  • 若文本包含标点符号,需先清洗:dataset['text'] = dataset['text'].str.replace(r'[^\w\s]', '', regex=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:40:20