python - 为什么这个分组数据框没有显示预期的情节?

标签 python pandas

我有这个 pandas 数据框,我想在其中绘制每年的线图:

    year    month   canasta
0   2011    1   239.816531
1   2011    2   239.092353
2   2011    3   239.332308
3   2011    4   237.591538
4   2011    5   238.384231
... ... ... ...
59  2015    12  295.578605
60  2016    1   296.918861
61  2016    2   296.398701
62  2016    3   296.488780
63  2016    4   300.922927

我试过这段代码:

dca.groupby(['year', 'month'])['canasta'].mean().reset_index().plot()

但是我得到了这个结果: enter image description here

我一定是做错了什么。拜托,你能帮我解决这个问题吗? x 轴是月份,每年应该有一条线。

最佳答案

原因:因为在您执行reset_index 之后,yearmonth 变成了正常的列。 some_df.plot() 只是将数据帧的所有列绘制到一个图中,从而生成您发布的内容。

修复:尝试用unstack代替reset_index:

(dca.groupby(['year', 'month'])
    ['canasta'].mean()
    .unstack('year').plot()
)

关于python - 为什么这个分组数据框没有显示预期的情节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67504175/

相关文章:

Python:Pybrain 包中的 train() 方法返回什么?

java - 超越 Python 中的工厂

python - 如何在时间序列中的每一天的开始和结束时获取值

python - 接下来 N 个元素(包括当前元素)的滚动总和

python - 如何处理分类变量列中的 0 值?

python - 保存断点到文件

python - Pandas - 有条件地存储输出

python - 使用 MySQL UDF 执行命令 - sys_exec 不起作用

python - 使用 Python 根据条件替换数据框中的所有值(所有列)

python - 使用 Pandas 数据框创建一个类(更新)