我如何绘制一个3个变量的分组?

问题描述 投票:0回答:1

我想绘制一年内每个客户的月销售量。三个变量分组后 df.groupby(['Year', 'Week', 'Client'])[Quantity].sum()我剩下的一列是这样的。

                       Quantity
Year    Week    Client  
2012     1       Coke      200
                 Pepsi     100
                 7UP       400
         2       Coke      500
                 Pepsi     750
                 7UP       200
         3       Coke      120
                 Pepsi     100
                 7UP       050
... ... ... ...
2020    22       Coke      100 
             Mountain Dew  650
                Fanta      110
        23       7UP       100 
                 Pepsi     199
                 Coke      200
... ... ... ...

我想只显示2020年最后10周(即第15周-第25周)所有客户的周数量,在整个数据框架中。

我将如何继续选择这些数据,然后绘制条形图?

python pandas matplotlib pandas-groupby
1个回答
1
投票

你可以这样做。

df_groups = df.groupby(['Year', 'Week', 'Client'])['Quantity'].sum()

# slicing the selected weeks
df_plot = df_groups.loc[2020].loc[15:25]

df_plot.unstack('Client').plot.bar()

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.