繁体   English   中英

如何使用另一列中的一个键将pandas df与多列合并?

[英]How do I merge pandas df with multiple columns using one key from another column?

我有一个包含两列AB (df1)的数据框

A   B
1   2
1   3
2   3

和数据帧(DF2)与“字典”描述123

O   P   Q
1   s   a
2   s   b
3   t   b

现在,我想merge第一个表与第二个表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"])

您在此处有两个单独的合并方案,因此您必须调用两次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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM