簡體   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