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)