【问题标题】:Merge 3 dataframes where 2 dataframes have unique ids but 3rd has a combination of unique ids of the other 2合并 3 个数据帧,其中 2 个数据帧具有唯一 ID,但第 3 个数据帧具有其他 2 个唯一 ID 的组合
【发布时间】:2021-07-06 12:11:42
【问题描述】:

您好,我正在寻找合并以下 3 个输入数据帧的最佳方法: df1

    proj_id doc_id
0   11  21
1   12  22
2   13  23
3   14  24
4   15  25
5   15  26
6   16  26

df2(proj_id 是唯一的 id)

    proj_id info1   info2
0   11  1   a
1   12  2   b
2   13  3   c
3   14  4   d
4   15  5   e
5   16  6   f
6   17  7   g

df3(doc_id 是唯一的 id)

    doc_id  doc_info1   doc_info2
0   21  uu  33
1   22  uv  32
2   23  uw  34
3   24  ux  35
4   25  uz  36
5   26  ua  37
6   27  ub  38

所以输出应该包含从 df2 和 df3 到 df1 的 proj_id 和 doc_ids 信息,如下所示。 输出_df:

    proj_id doc_id  info1   info2   doc_info1   doc_info2
0   11  21  1   a   uu  33
1   12  22  2   b   uv  32
2   13  23  3   c   uw  34
3   14  24  4   d   ux  35
4   15  25  5   e   uz  36
5   15  26  5   e   ua  37
6   16  26  6   f   ua  37

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    在左连接中使用双 DataFrame.merge:

    df = df1.merge(df2, on='proj_id', how='left').merge(df3, on='doc_id', how='left')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      相关资源
      最近更新 更多