我有一个包含两列A
和B
(df1)的数据框
A B
1 2
1 3
2 3
还有一个带有描述“ 1
,2
和3
的{dictionary”的数据框(df2)
O P Q
1 s a
2 s b
3 t b
现在,我想merge
与第二张表一起A B P1 Q1 P2 Q2
1 2 s a s b
1 3 s a t b
2 3 s b t b
以便获得以下信息:
df1.merge(df2, left_on=["A","B"], right_on=["O","O"])
我尝试过{{1}}
答案 0 :(得分:2)
您在这里有两个单独的合并方案,因此必须调用merge
两次:
(df1.merge(df2, left_on="A", right_on="O")
.merge(df2, left_on="B", right_on="O")
.drop(columns=['O_x', 'O_y']))
A B P_x Q_x P_y Q_y
0 1 2 s a s b
1 1 3 s a t b
2 2 3 s b t b