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

基于关键词列表生成DataFrame新列并统计词频的实现求助

解决方案:为DataFrame按关键词生成计数列

问题说明

需要根据关键词列表key_words = ['apple', 'animal', 'everyone'],为输入的DataFrame新增对应关键词的列,统计每行描述中该关键词的出现次数(忽略大小写)。

实现代码

首先构造示例DataFrame,然后通过pandas.Series.str.count()方法完成计数:

import pandas as pd

# 构造输入DataFrame
data = {
    'id': [1, 2, 3],
    '描述': [
        'Apple is a healthy fruit. Everyone should eat it.',
        'Lion is a dangerous animal.',
        'Everyone likes him.'
    ],
    'xx': ['..', '..', '..']
}
df = pd.DataFrame(data)

# 定义关键词列表
key_words = ['apple', 'animal', 'everyone']

# 为每个关键词生成计数列
for word in key_words:
    # 使用str.count,设置case=False忽略大小写
    df[word] = df['描述'].str.count(word, case=False)

# 查看结果
print(df)

代码解释

  • str.count(word, case=False):统计每行文本中指定关键词的出现次数,case=False确保大小写不敏感匹配(比如"Apple"会被计入"apple"的计数)。
  • 循环遍历关键词列表,为每个关键词新增一列,列名就是关键词本身,值为对应行的出现次数。

输出结果

运行代码后得到的DataFrame与期望输出一致:

id描述xxappleanimaleveryone
1Apple is a healthy fruit. Everyone should eat it...101
2Lion is a dangerous animal...010
3Everyone likes him...001

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 22:55:16