0

我有一个 Pandas 数据框,其中包含 2019 年 7 月 24 日至 2019 年 10 月 19 日期间的推文。我已将 VADER 情绪分析方法应用于每条推文,并在新列中添加了情绪分数。

现在,我希望在某种折线图中可视化这一点,以便分析这三个月期间每天的平均情绪得分如何变化。因此,我需要将日期放在 x 轴上,将平均负数、正数和复合分数(三个不同的线)放在 y 轴上。

我有一个想法,我需要以某种方式对数据进行分组或重新采样以显示每天的汇总情绪值,但由于我的 Python 技能仍然有限,我还没有成功找到可行的解决方案。

如果有人知道我可以如何进行,那将不胜感激!我附上了我的日期框架的图片以及我想到的情节类型的一个例子:)

干杯,尼古拉

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

你应该看看 groupby() 方法: https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html

只需创建一个包含 timestamp/datetime_object/dict/tuple/str ... 的日期列,它代表推文的日期,而不是确切的时间。然后在此列上使用 groupby() 方法。如果您不知道如何创建此列,一个简单的方法是使用https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html

请记住, groupby 方法不返回 DataFrame 而是返回groupby_generic.DataFrameGroupBy因此您必须选择一种聚合组中数据的方式(在您的情况下,您可能应该执行 groupby().mean() ,请参阅grouby 方法文档以获取更多信息)

于 2020-05-26T08:16:34.247 回答