Pandas 如果两个数据帧中的数据相同,则映射列名

Pandas 如果两个数据帧中的数据相同,则映射列名,pandas,dataframe,names,Pandas,Dataframe,Names,我有两只熊猫 df1=A B C 1 2 3 2 3 4 3 4 5 df2=X Y Z 1 2 3 2 3 4 3 4 5 我需要基于数据进行映射,如果数据相同,则映射列名在此处输入code 输出=col1 col2 A X B Y cz我找不到任何内置函数来支持此功能,因此只需在所有列上循环: pairs = [] for col1 in df1.columns: for col2 in df2.columns: if df1[col1].equals(df2[

我有两只熊猫

df1=A B C 1 2 3 2 3 4 3 4 5

df2=X Y Z 1 2 3 2 3 4 3 4 5 我需要基于数据进行映射,如果数据相同,则映射列名
在此处输入code
输出=col1 col2 A X B Y
cz

我找不到任何内置函数来支持此功能,因此只需在所有列上循环:

pairs = []
for col1 in df1.columns:
    for col2 in df2.columns:
        if df1[col1].equals(df2[col2]):
            pairs.append((col1, col2))

output = pandas.DataFrame(pairs, columns=['col1', 'col2'])

请提供显示您的输入和输出的插图。您问题中的当前输出格式很难理解。如果它应该是表格格式,那么就在表格中显示它。谢谢,但是我有数千列,它们不按顺序排列。你说的“不按顺序”是什么意思?列的顺序应该无关紧要。代码在所有列的组合上循环如果它在pandas中工作,我如何在SAS中实现它