【问题标题】:How do I plot a a grouping of 3 variables?如何绘制 3 个变量的分组?
【发布时间】:2020-09-16 13:03:48
【问题描述】:

我想绘制一年内每个客户每月销售的数量。在三个变量 df.groupby(['Year', 'Week', 'Client'])[Quantity].sum() 的 groupby 之后,我留下了这样的一列:

                       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】:

    你可以这样做:

    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()
    

    输出:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多