在jupyter中进行情感分析,出现报错
AttributeError: 'Series' object has no attribute 'sf_content'
请问怎么解决?
#导入数据分析需要的包
import pandas as pd
#可视化包9
import matplotlib.pyplot as plt
from snownlp import SnowNLP
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
# 导入数据集
data1 = pd.read_csv('sf02_data.csv')
#print(data1.head())
#print(data1.columns)
data1 = data1[['sf_content', 'sf_creationTime']]
data1['sf_creationTime'] = pd.to_datetime(data1['sf_creationTime'])
data1 = data1[(data1['sf_creationTime'] < pd.to_datetime('20231231')) & (data1['sf_creationTime'] > pd.to_datetime('20230101'))]
data1['sf_creationTime'] = data1['sf_creationTime'].dt.month
data1.head(10)
def get_sentiment_cn(text):
s = SnowNLP(text)
return s.sentiments
# 应用函数
data1["sentiment"] = data1.sf_content.apply(get_sentiment_cn)
data1.head(10)
data1.sentiment.describe()
data1 = data1[['sf_creationTime','sentiment']]
data1.boxplot(by='sf_creationTime',figsize=(20,10))
plt.title('2023年各月份评论情绪分布')
plt.xlabel('月份')
plt.ylabel('sentiment')
plt.show()
data1.sort_values(by=['sentiment'], ascending=[True])[:1]
print(data1.sort_values(['sentiment']).iloc[0].sf_content)