假设我有下面的示例数据表:
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
理想情况下,我想在熊猫中这样做,但愿意接受其他想法。对于能告诉我这种分析的正确名称的人来说也是奖励积分。
答案 0 :(得分:0)
你可以这样做:
>>> 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