【问题标题】:Python join two dfs with different sizes [duplicate]Python加入两个不同大小的dfs [重复]
【发布时间】:2020-03-19 21:31:58
【问题描述】:

我有两个数据框:

df1=     subj_id overall_id   A B C 
             1       29       . . .
             2       30       . . .
             3       31       . . .

df2 = id D E F 
      29 1 2 3
      29 4 5 6
      29 7 8 9
      30 1 2 3
      30 4 5 6
      31 1 2 3

我想加入他们并创造:

df = subj_id id D E F 
         1   29 1 2 3
         1   29 4 5 6
         1   29 7 8 9
         2   30 1 2 3
         2   30 4 5 6
         3   31 1 2 3

最好的方法是什么?

【问题讨论】:

    标签: python-3.x pandas dataframe join merge


    【解决方案1】:

    您可以使用mergemap。例如,map:

    df = df2.copy()
    df['subj_id'] = df['id'].map(df1.set_index('overall_id')['subj_id'])
    

    输出:

       id  D  E  F  subj_id
    0  29  1  2  3        1
    1  29  4  5  6        1
    2  29  7  8  9        1
    3  30  1  2  3        2
    4  30  4  5  6        2
    5  31  1  2  3        3
    

    【讨论】:

      猜你喜欢
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多