大熊猫在列级别对多个列数据进行分组

时间:2020-04-20 03:54:16

标签: python pandas

我正在尝试对“报告”列中的A,B,C和D列的数据进行分组。

report  A  B  C  D
1       1  0  0  0
1       0  1  0  0
2       0  0  0  1
2       0  0  1  0
3       1  0  0  0
3       0  1  0  0     
4       0  0  1  0      
4       1  0  0  0

这就是我要实现的目标

report  A  B  C  D
1       1  1  0  0
2       0  0  1  1
3       1  1  0  0 
4       1  0  1  0

有没有直接的方法可以达到结果? 非常感谢你!! 感谢您的支持!

1 个答案:

答案 0 :(得分:1)

我相信您正在熊猫图书馆中寻找sum。下面的脚本输出预期结果。

import pandas as pd

report = [1, 1, 2, 2, 3, 3, 4, 4]
A = [1, 0, 0, 0, 1, 0, 0, 1]
B = [0, 1, 0, 0, 0, 1, 0, 0]
C = [0, 0, 0, 1, 0, 0, 1, 0]
D = [0, 0, 1, 0, 0, 0, 0, 0]

df = pd.DataFrame(list(zip(report, A, B, C, D)), columns = ['report', 'A', 'B', 'C', 'D'])

print(df.groupby(['report']).sum())