Python 熊猫:如何在单个数据帧中合并包含相同名称的列?

Python 熊猫:如何在单个数据帧中合并包含相同名称的列?,python,Python,我有一个从excel文件中提取的数据框,我已将其处理为以下形式(有多行,但这是为了使我的问题尽可能清楚): 如您所见,列名重复出现。我希望将此数据帧合并为如下所示: |A|B|C| index 0: 1 2 3 index 1: 4 5 6 我曾尝试使用melt函数,但迄今为止没有任何成功。如果A列重复3次,C列重复0次,会怎么样?或者每个列是否会像您的示例一样重复一次?在我的特定用例中,每个唯一的数据列名称总是重复相同的次数,通常只重复两次。所以我认为来自@Ferran的答

我有一个从excel文件中提取的数据框,我已将其处理为以下形式(有多行,但这是为了使我的问题尽可能清楚):

如您所见,列名重复出现。我希望将此数据帧合并为如下所示:

        |A|B|C|
index 0: 1 2 3 
index 1: 4 5 6

我曾尝试使用melt函数,但迄今为止没有任何成功。

如果A列重复3次,C列重复0次,会怎么样?或者每个列是否会像您的示例一样重复一次?在我的特定用例中,每个唯一的数据列名称总是重复相同的次数,通常只重复两次。所以我认为来自@Ferran的答案应该总是有效的。
import pandas as pd
df = pd.DataFrame([[1,2,3,4,5,6]], columns = ['A', 'B','C','A', 'B','C'])
df
       A  B  C  A  B  C
    0  1  2  3  4  5  6
pd.concat(x for _, x in df.groupby(df.columns.duplicated(), axis=1))
       A  B  C
    0  1  2  3
    0  4  5  6
import pandas as pd
df = pd.DataFrame([[1,2,3,4,5,6]], columns = ['A', 'B','C','A', 'B','C'])
df
       A  B  C  A  B  C
    0  1  2  3  4  5  6
pd.concat(x for _, x in df.groupby(df.columns.duplicated(), axis=1))
       A  B  C
    0  1  2  3
    0  4  5  6