【问题标题】:How to plot graph in complicated pandas groupby?如何在复杂的熊猫 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函数的输出而言。非常感谢

【问题讨论】:

    标签: python pandas matplotlib


    【解决方案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。如果您还有其他问题,请考虑开一个新帖子。
    猜你喜欢
    • 2017-12-31
    • 2020-03-25
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2021-06-07
    • 1970-01-01
    • 2019-03-21
    相关资源
    最近更新 更多