代码之家  ›  专栏  ›  技术社区  ›  HHH

如何使用OR条件合并两个pandas数据帧

  •  0
  • HHH  · 技术社区  · 7 年前

    我有两个dataframe,我想基于两列加入。但是,我的连接逻辑中有一个“或”,例如,我想基于列[“A”、“B”、“C”]或[“A”、“B”、“D”]进行连接。我有以下代码可以基于一组列进行连接,但如何添加第二组列?

     pd.merge(df1,df2, how='inner',left_on = ['A','B','C'], right_on = ['A','B','C'])
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Scott Boston    7 年前

    试试这个,因为 left_on right_on 都一样只是用 on :

    d_1 = pd.merge(df1,df2, how='inner', on = ['A','B','C'])
    d_2 = pd.merge(df1,df2, how='inner', on = ['A','B','D'])
    d_3 = pd.concat([d_1,d_2]).drop_duplicates()