(30)通过下面代码进行时间序列分析时,专门针对2019年的数据进行了情感随时间的变化图表绘制。
date_sentiment_2019 = df_2019.groupby(df_2019['date'].dt.date)['polarity'].mean()
plt.figure(figsize=(12, 6))
date_sentiment_2019.plot()
plt.title('Sentiment Over Time (2019)')
plt.xlabel('Date')
plt.ylabel('Mean Sentiment')
plt.grid(True)
plt.show()
执行后会绘制2019年情感随时间的变化图,如图7-13所示。
图7-13 2019年情感随时间的变化图
总的来说,在2019年的前八个月里,酒店的客人对他们的体验感到满意,大部分时间内情感均值都保持在正数水平以上。然而,在一月到八月期间,情感均值略微下降。
这一结论表明,酒店的客人在2019年的初期经历中感到满意,大部分时间内他们对酒店的评价都是积极的。不过,在年初到八月期间,可能存在一些情感上的波动,这可能受到季节性或特定事件的影响。综合来看,客户的整体满意度是积极的,但需要留意情感波动的原因。这些观察结果对于改进服务和满足客户需求非常有价值。
(31)分析不同地点的评论情感均值,并将其按照均值从高到低排序,然后选择了情感均值最高的前10个地点和情感均值最低的前10个地点,最后绘制了这些地点的情感均值水平的水平条形图。
location_sentiment = df.groupby('Location')['polarity'].mean()
location_sentiment = location_sentiment.sort_values()
top = location_sentiment.tail(10)
bottom = location_sentiment.head(10)
new_locations = pd.concat([top, bottom])
plt.figure(figsize=(10, 6))
new_locations.plot(kind='barh')
plt.title('Mean Sentiment Across Locations (Top 10 and Bottom 10)')
plt.xlabel('Mean Sentiment')
plt.ylabel('Location')
plt.show()
这段代码的目的是通过可视化不同地点的评论情感均值,帮助了解客户对不同地点的满意度。水平条形图显示了顶部10个和底部10个地点的情感均值,可以用于比较不同地点之间的客户情感评价。这有助于酒店或公司了解哪些地点在客户满意度方面表现出色,哪些需要改进。
上述代码的实现流程如下:
- 首先,使用 df.groupby('Location')['polarity'].mean() 对数据框 df 进行分组,计算每个地点的评论情感极性均值。这将创建一个包含地点和情感均值的数据框。
- 使用 location_sentiment.sort_values() 将地点按照情感均值从低到高进行排序。
- 使用 location_sentiment.tail(10) 选择情感均值最高的前10个地点,即排名前10的地点。
- 使用 location_sentiment.head(10) 选择情感均值最低的前10个