首页 > 解决方案 > 如何使用 SpacyTextBlob 计算数据帧的情绪分数?

问题描述

我正在使用 SpacyTextblob 查找评论的情绪分数。我可以计算单个文本的极性和主观性分数,但无法计算列

我的数据框名为“数据”,其中包含名为 reviews.text 列的评论


import spacy
from spacytextblob.spacytextblob import SpacyTextBlob

nlp = spacy.load('en_core_web_sm')
nlp.add_pipe("spacytextblob")
doc = nlp(data['reviews.text'][0])

print('Polarity:', doc._.polarity)
print('Sujectivity:', doc._.subjectivity)

上面的代码分别适用于每个评论,我可以计算极性和主观性。但是,我无法计算整个列


polarity = lambda x: nlp(x)._.polarity
subjectivity = lambda x: nlp(x)._.subjectivity
data['polarity'] = data['reviews.text'].apply(polarity)
df['subjectivity'] = data['reviews.text'].apply(subjectivity)

上面的代码不起作用,谁能告诉我如何计算它?

标签: python-3.xnlpspacy-3

解决方案


推荐阅读