如何在复杂的熊猫 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 轴

Seaborn通过多个groupby绘制熊猫数据框

Python:用 groupby 绘制熊猫数据框 - 奇怪的输出

尝试绘制熊猫表时未显示图[重复]

如何快速绘制三维球体呢?

贝塞尔工具一半用来绘制啥及各种复杂的图形 ,他也可以绘制直线直线的方法与?