码字小白菜努力中 2024-03-14 00:54 采纳率: 88%
浏览 33
已结题

Python中AttributeError: 'Series' object has no attribute 'sf_content'这种情况的代码报错怎么解决?

在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)

img

img

  • 写回答

9条回答 默认 最新

  • 赵4老师 2024-03-14 09:30
    关注
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月14日
  • 赞助了问题酬金15元 3月14日
  • 创建了问题 3月14日