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

如何对Pandas行应用NLTK情感分析函数并拆分字典为多列

解决方法:将情感极性字典拆分到DataFrame列中

我之前也碰到过一模一样的需求,其实不用手动遍历行这么麻烦,用Pandas的apply配合pd.Series()就能轻松搞定,效率还高!直接看实操步骤:

首先确保你已经导入了需要的库:

import pandas as pd
from nltk.sentiment import SentimentIntensityAnalyzer

初始化情感分析器:

sia = SentimentIntensityAnalyzer()

接下来是核心操作——把每一行的情感得分字典直接转成DataFrame列,再和原数据集合并:

# 对body列的每条语料计算情感得分,将返回的字典转为Series(自动以字典键为列名)
sentiment_df = joined_corpus['body'].apply(lambda text: pd.Series(sia.polarity_scores(text)))

# 把情感得分列合并到原DataFrame中
joined_corpus = pd.concat([joined_corpus, sentiment_df], axis=1)

做完这两步,你的joined_corpus就会自动新增neg、neu、pos、compound四列,每一行的得分和原语料完全对应上。

额外小贴士

如果你的body列存在空值(比如NaN或者空字符串),建议先做个填充处理,避免分析器报错:

# 把空值填充为空白字符串,确保分析器能正常处理
joined_corpus['body'] = joined_corpus['body'].fillna('')

这种方法比手动循环高效太多,尤其是数据量较大的时候,完全不用一行行去处理~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:41:32