我有一个包含许多列的pandas数据框。每个单元格中都有一个数字。每列的名称是一个位置代码,我试图通过对前五个字符相同的行的行进行汇总来合并它们,但似乎找不到解决方法。换句话说,如果列的前5个字符相同,则会将它们分组在一起。有帮助吗?
答案 0 :(得分:0)
IIUC,假设您拥有此MCVE:
df = pd.DataFrame({'ABC1': [1,2,3],
'XYZ1': [10,20,30],
'ABC2': [1,2,3],
'XYZ9': [100,200,300]})
ABC1 XYZ1 ABC2 XYZ9
0 1 10 1 100
1 2 20 2 200
2 3 30 3 300
您想要groupby
列的前三个字符。
然后,您可以按以下方式与axis=1
进行分组
df.groupby(df.columns.str[:3],axis=1).sum()
ABC XYZ
0 2 110
1 4 220
2 6 330