Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-使用相同的前五个字符对列进行分组_Python_Regex_Pandas_Group By - Fatal编程技术网

Python-使用相同的前五个字符对列进行分组

Python-使用相同的前五个字符对列进行分组,python,regex,pandas,group-by,Python,Regex,Pandas,Group By,我有一个包含许多列的熊猫数据框。每个单元格中都有一个数字。每个列的名称都是一个位置码,我试图通过对前5个字符相同的列的行求和来合并它们,但似乎找不到实现这一点的方法。换句话说,如果列具有相同的前5个字符,则将它们分组在一起。有什么帮助吗?IIUC,假设您有这个MCVE: df = pd.DataFrame({'ABC1': [1,2,3], 'XYZ1': [10,20,30], 'ABC2': [1,2,3],

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

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
并且您希望删除列的前三个字符

然后,您可以根据轴=1进行分组,如下所示


请总是张贴一个谢谢你,这是完美的!
df.groupby(df.columns.str[:3],axis=1).sum()


    ABC XYZ
0   2   110
1   4   220
2   6   330