我有两个dataframe,我想基于两列加入。但是,我的连接逻辑中有一个“或”,例如,我想基于列[“A”、“B”、“C”]或[“A”、“B”、“D”]进行连接。我有以下代码可以基于一组列进行连接,但如何添加第二组列?
pd.merge(df1,df2, how='inner',left_on = ['A','B','C'], right_on = ['A','B','C'])
试试这个,因为 left_on 和 right_on 都一样只是用 on :
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()