0
0 комментариев

Как в Pandas‘e сделать inner объединение таблиц по нескольким полям с логической операцией ИЛИ? Как условие ON в выражении JOIN в SQL? Функция merge позволяет получать лишь точные совпадения по нескольким полям (т.е, логическая операция И).

Пример. Есть датафреймы df1 и df2, у них имеются два общих поля A и B, нужно произвести их слияние по условию df1.A = df2.A OR df1.B = df2.B Информация в таблице df1 считается более приоритетной, то есть, если совпадение происходит только по одному полю (A или B), то значение второго берётся из df1.

df1:

#    A    B        C
0    104  peter    28
1    228  andre    10
2    89   paul     17
3    219  saul     14

df2:

#    A    B
0    104  jessy
1    230  andre
2    219  saul
3    126  amy

result:

#    A    B        C
0    104  peter    28
1    228  andre    10
2    219  saul     14


Добавить комментарий