【问题标题】:Rank all possible groupby combinations对所有可能的 groupby 组合进行排名
【发布时间】:2014-10-22 00:22:21
【问题描述】:

假设我有下表的示例数据:

Country Group   Revenue
US      A           $50 
US      B          $125 
MX      A          $100 
CA      A           $70 
CA      C           $10 

我想做的是计算国家和组的每个可能组合的收入,如下所示:

US  $175 
MX  $100 
CA  $80 
A   $220 
B   $125 
C   $10 
US, A   $50 
US, B   $125 
MX, A   $100 
CA, A   $70 
CA, C   $10 

然后能够进行排序以查看哪些组合提供了最多的收入:

A       $220 
US      $175 
B       $125 
US, B   $125 
MX      $100 
MX, A   $100 
CA      $80 
CA, A   $70 
US, A   $50 
C       $10 
CA, C   $10 

理想情况下,我想在 Pandas 中执行此操作,但对其他想法持开放态度。任何可以告诉我此类分析的正确名称的人也可以获得奖励积分。

【问题讨论】:

    标签: python numpy pandas


    【解决方案1】:

    你可以这样做:

    >>> pd.concat([df,
    ...            df.groupby('Country', as_index=False).sum(),
    ...            df.groupby('Group', as_index=False).sum()],
    ...           ignore_index=True).sort(columns='Revenue',
    ...                                   ascending=False).fillna('')
       Country Group  Revenue
    8              A      220
    7       US            175
    1       US     B      125
    9              B      125
    2       MX     A      100
    6       MX            100
    5       CA             80
    3       CA     A       70
    0       US     A       50
    4       CA     C       10
    10             C       10
    

    【讨论】:

      猜你喜欢
      • 2017-10-04
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2019-02-13
      • 1970-01-01
      • 2015-05-13
      相关资源
      最近更新 更多