给定一个数据帧:
val1_aa val1_bb val2_aa val2_bb val2_cc val3_cc
id
100 6 0 3 4 3 1
200 0 1 0 0 1 0
300 5 1 1 0 4 0
400 0 3 1 5 7 1
我想按照每个列标题中的后缀顺序对所有列进行求和.我想要的输出:
aa bb cc
id
100 9 4 4
200 0 1 1
300 6 1 4
400 1 8 8
我怎么得到这个?
答案发布在下面.
最佳答案 您可以在轴= 1上使用lambda函数进行分组
In [4178]: df.groupby(lambda x: x.split('_')[-1], axis=1).sum() # or x.split('_')[1]
Out[4178]:
aa bb cc
id
100 9 4 4
200 0 1 1
300 6 1 4
400 1 8 8