我正在尝试按几列分组。仅需一列,只需df.groupby('c1').['c3].sum()
原始数据框
c1 c2 c3
1 1 2
1 2 12
2 1 87
2 2 12
2 3 87
2 3 13
所需结果
c2 c3(c1_1) c3(c1_2)
1 2 87
2 12 12
3 (0?) 100
其中c3(c1_1)表示c3列的总和,其中c1的值为1
我不知道如何在此应用groupby。如果有人不仅会展示如何解决它,而且会展示没有这种愚蠢问题的阅读内容
答案 0 :(得分:0)
您可以通过向groupby
提供列表来一次将多列分组。如果您不介意输出的格式略有不同,则可以通过
In [32]: df.groupby(['c2', 'c1']).c3.sum().unstack(fill_value=0)
Out[32]:
c1 1 2
c2
1 2 87
2 12 12
3 0 100
只需做一些工作,就可以将其按摩成您提供的形式。