假设我在 valgdata DataFrame 上创建了一个 groupby,如下所示:
grouped_valgdata = valgdata.groupby(['news_site','dato_uden_tid']).mean()
现在我明白了:
sentiment
news_site dato_uden_tid
dr.dk 2015-06-15 54.777183
2015-06-16 54.703167
2015-06-17 54.948775
2015-06-18 54.424881
2015-06-19 53.290554
eb.dk 2015-06-15 53.279251
2015-06-16 53.285643
2015-06-17 53.558753
2015-06-18 52.854750
2015-06-19 54.415988
jp.dk 2015-06-15 56.590428
2015-06-16 55.313752
2015-06-17 53.771377
2015-06-18 53.218408
2015-06-19 54.392638
pol.dk 2015-06-15 54.759532
2015-06-16 55.182641
2015-06-17 55.001800
2015-06-18 56.004326
2015-06-19 54.649052
现在我想为每个 news_site 制作一个时间序列,其中 dato_uden_tid 在 X 轴上,情绪在 Y 轴上。
实现该目标的最佳和最简单方法是什么?
谢谢!
最佳答案
(有点好笑,因为这个问题让我做了完全相同的事情。)
你可以做类似的事情
valgdata\
.groupby([valgdata.dato_uden_tid.name, valgdata.news_site.name])\
.mean()\
.unstack()
这会
反转groupby
将新站点拆分为列
要绘图,只需执行前面的代码片段,紧接着执行 .plot()
:
valgdata\
.groupby([valgdata.dato_uden_tid.name, valgdata.news_site.name])\
.mean()\
.unstack()\
.plot()
关于python - 在 Pandas 分组后绘制多个时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942755/