我有两个数据帧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
答案 0 :(得分:2)
将Index.isin
与反掩码或Index.difference
一起使用:
df22 = df2.loc[:, ~df2.columns.isin(df1.columns)]
df = df1.join(df22)
或者:
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
答案 1 :(得分:0)
您还可以将合并功能用作替代解决方案:
df3=pd.merge(df1,df2, left_on='A', right_on='B', how ='left', suffixes=('','_')).drop('B_',axis=1)