Python:如何仅基于不同的列合并两个数据帧?

Python:如何仅基于不同的列合并两个数据帧?,python,pandas,Python,Pandas,我有两个数据帧df1和df2 df1 A B 0 4 2 1 3 3 2 1 2 df2 B AB C 0 4 8 3 1 3 9 2 2 1 2 4 我只想在不同的列上进行连接 df3 A B AB C 0 4 2 8 3 1 3 3 9 2 2 1 2 2 4 与反转遮罩一起使用或: 或: 您还可以使用合并函数作为替代解决方案: df3=pd.mer

我有两个数据帧
df1
df2

df1
     A  B
0    4  2
1    3  3
2    1  2

df2
     B  AB C
0    4  8  3
1    3  9  2
2    1  2  4
我只想在不同的列上进行连接

df3
     A  B  AB  C
0    4  2  8   3
1    3  3  9   2
2    1  2  2   4
与反转遮罩一起使用或:

或:



您还可以使用合并函数作为替代解决方案:

df3=pd.merge(df1,df2, left_on='A', right_on='B', how ='left', suffixes=('','_')).drop('B_',axis=1)
df22 = df2[df2.columns.difference(df1.columns)]
df = df1.join(df22)
print (df)
   A  B  AB  C
0  4  2   8  3
1  3  3   9  2
2  1  2   2  4
df3=pd.merge(df1,df2, left_on='A', right_on='B', how ='left', suffixes=('','_')).drop('B_',axis=1)