如何在复杂的熊猫 groupby 中绘制图形?
Posted
技术标签:
【中文标题】如何在复杂的熊猫 groupby 中绘制图形?【英文标题】:How to plot graph in complicated pandas groupby? 【发布时间】:2018-08-28 16:48:24 【问题描述】:我有一个关于行事务的 DataFrame,例如:
Month Category Quantity
3 A 1
3 A 1
3 B 1
4 A 1
4 B 1
4 B 1
我用groupby函数统计了每个月每个类别的数量
df.groupby(['Month','Category']['Quantity'].count()
结果:
Month Category
3 A 2
B 1
4 A 1
B 2
我不知道如何绘制类别的数量图(A和B应该用不同的线表示),x轴是时间,就groupby函数的输出而言。非常感谢
【问题讨论】:
【参考方案1】:你想unstack
然后打电话给pd.DataFrame.plot
:
df.groupby(['Month','Category'])['Quantity'].count().unstack().plot()
plt.show()
您会得到一个包含两条线的图表,每个 Category
一条。
【讨论】:
谢谢,但我还有一个问题。因为我的数据集有很多类别(8个),所以创建的图例是按字母顺序排列的,而不是按数量顺序排列的,所以会混淆。如何将图例更改为仅第一个月的数量订单? @Homesand 我建议您看看这里:matplotlib.org/users/legend_guide.html 基本上,找出您想要的顺序并将其明确传递给plt.legend
。如果您还有其他问题,请考虑开一个新帖子。以上是关于如何在复杂的熊猫 groupby 中绘制图形?的主要内容,如果未能解决你的问题,请参考以下文章
将熊猫 groupby 中的组绘制在一个图中时如何更改 x 轴