Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # объединяем по полю А
- mix1 = pd.merge(df1, df2, how='inner', on=['A'])
- # приводим таблицы к единому виду
- mix1['B'] = mix1['B_x']
- mix1.drop('B_x', axis=1, inplace=True)
- mix1.drop('B_y', axis=1, inplace=True)
- # объединяем по полю В
- mix2 = pd.merge(df1, df2, how='inner', on=['B'])
- # избавляемся от дубликатов (*)
- mix2 = mix2.loc[mix2['A_x'] != mix2['A_y']]
- # приводим таблицы к единому виду
- mix2['A'] = mix2['A_x']
- mix2.drop("A_x", axis=1, inplace=True)
- mix2.drop("A_y", axis=1, inplace=True)
- # конкатенация в итоговый датафрейм с новой нумерацией строк
- result = pd.concat([mix1, mix2], ignore_index=True)
- A_ | AB
- --------
- __ | _B
Add Comment
Please, Sign In to add comment