Python - 具有相同前五个字符的组列

问题描述 投票:0回答:1

我有一个包含许多列的pandas数据框。每个单元格中都有一个数字。每列的名称都是位置代码,我试图通过对具有相同前5个字符的行进行求和来合并它们,但似乎无法找到实现此目的的方法。换句话说,如果列具有相同的前5个字符,则它们将组合在一起。有帮助吗?

python regex pandas group-by
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.