Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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 无法对dataframe中具有相同名称的列执行函数_Python_Pandas_Dataframe - Fatal编程技术网

Python 无法对dataframe中具有相同名称的列执行函数

Python 无法对dataframe中具有相同名称的列执行函数,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试使用groupby方法获取最大数量的同名列: df.groupby(by=df.columns, axis=1).max() 例如,我有这样的数据帧: ID A A B B 1 1 2 2 1 2 1 0 0 1 我想得到这个: ID A B 1 2 2 2 1 1 ID A A.1 B B.1 1 1 2 2 1 2 1 0 0 1 相反,我得到的是: ID A B 1 2 2 2 1 1 ID A A.1 B B.1 1

我正在尝试使用groupby方法获取最大数量的同名列:

df.groupby(by=df.columns, axis=1).max()
例如,我有这样的数据帧:

ID A A B B
1  1 2 2 1
2  1 0 0 1
我想得到这个:

 ID A B 
 1  2 2 
 2  1 1
ID A A.1 B B.1
 1  1 2  2  1
 2  1 0  0  1
相反,我得到的是:

 ID A B 
 1  2 2 
 2  1 1
ID A A.1 B B.1
 1  1 2  2  1
 2  1 0  0  1

因此,.1只是添加到每个重复的列名中,没有任何最大化。

您确定df列是重复的吗?理想情况下,在阅读pandas时为其添加后缀,什么是
print(df.columns)
?如果是这样,您可以尝试
df.groupby(df.columns.str.replace('.\d+',''),axis=1,sort=False)。max()
您确定df列是重复的吗?理想情况下,在阅读pandas时为其添加后缀,什么是
print(df.columns)
?如果是这样,您可以尝试
df.groupby(df.columns.str.replace('.\d+',''),axis=1,sort=False)。max()