在 pandas groupby 绘图栏中重新排序星期几

Posted

技术标签:

【中文标题】在 pandas groupby 绘图栏中重新排序星期几【英文标题】:Reorder day of week in pandas groupby plot bar 【发布时间】:2019-12-04 16:02:46 【问题描述】:

我已经对 df 数据进行了如下排序:

                      day_name  Day_id
time                                  
2019-05-20 19:00:00     Monday       0
2018-12-31 15:00:00     Monday       0
2019-02-25 17:00:00     Monday       0
2019-05-06 20:00:00     Monday       0
2019-03-12 12:00:00    Tuesday       1
2019-04-16 15:00:00    Tuesday       1
2019-04-02 18:00:00    Tuesday       1
2019-02-05 09:00:00    Tuesday       1
2019-05-28 21:00:00    Tuesday       1
2019-01-15 12:00:00    Tuesday       1
2019-06-04 20:00:00    Tuesday       1
2018-12-04 07:00:00    Tuesday       1
2019-01-22 11:00:00    Tuesday       1
2019-01-09 07:00:00  Wednesday       2
2019-03-06 16:00:00  Wednesday       2
2019-06-19 17:00:00  Wednesday       2
2019-04-10 20:00:00  Wednesday       2
2019-04-24 15:00:00  Wednesday       2
2019-01-31 08:00:00   Thursday       3
2019-01-03 08:00:00   Thursday       3
2019-02-28 19:00:00   Thursday       3
2019-05-23 20:00:00   Thursday       3
2018-12-20 07:00:00   Thursday       3
2019-05-09 19:00:00   Thursday       3
2019-06-28 15:00:00     Friday       4
2019-03-22 12:00:00     Friday       4
2019-03-29 14:00:00     Friday       4
2018-12-15 08:00:00   Saturday       5
2019-02-17 11:00:00     Sunday       6
2019-06-16 19:00:00     Sunday       6
2018-12-02 08:00:00     Sunday       6

借助post:

df = df.groupby(df.day_name).count().plot(kind="bar")
plt.show()

我的输出是:

如何以正确的顺序绘制星期几的直方图,例如:星期一,星期二...?

我找到了几种方法:1、2、3 来解决这个问题,但在我的情况下找不到使用它们的方法。

感谢大家的辛勤工作。

【问题讨论】:

【参考方案1】:

groupby下需要sort=False

m = df.groupby(df.day_name,sort=False).count().plot(kind="bar")
plt.show()

【讨论】:

谢谢。我没想到。

以上是关于在 pandas groupby 绘图栏中重新排序星期几的主要内容,如果未能解决你的问题,请参考以下文章

应用 pandas groupby 后,在绘图中添加条形以显示平均值

Pandas GroupBy 的绘图结果

Pandas groupby 在保留多个聚合的组内排序

Pandas groupby:如何在使用两列创建 groupby 时以正确的顺序对工作日进行排序?

Pandas 0.18.1 groupby 和多级聚合错误重新采样

Python Pandas groupby 并沿多列排序