Панды, объединяющие фреймы данных в нескольких столбцах - PullRequest
0 голосов
/ 03 ноября 2019

Я собираюсь объединить две таблицы в три столбца, используя левое соединение, однако во втором и третьем полях есть пустые записи, и в этом случае, поэтому, если в первых трех столбцах есть совпадение, данныебудет присоединен независимо. После этого, поэтому, если в первых двух столбцах есть совпадение, данные будут объединены независимо, и, наконец, если в первом столбце будет совпадение, данные будут объединены.

dfa:
        Competitor  Product  Type
    0   A           P1       X
    1   A           P2       X
    2   A           P2       Y
    3   B           P1       X 
    4   B           P1       Y
    5   B           P2       X
    6   C           P1       X

dfb:
        Competitor  Product      Type   Value
    0   A           P1           X      £5
    1   A           P2           X      £10
    2   A           P2           Y      £12
    3   B           P1           NaN    £15
    4   B           NaN          NaN    £35
    5   B           P1           X      £50
    6   C           NaN          NaN    £100

Желаемыйвывод:

        Competitor  Product  Type    Value
    0   A           P1       X       £5
    1   A           P2       X       £10
    2   A           P2       Y       £12
    3   B           P1       X       £50
    4   B           P1       Y       £15
    5   B           P2       X       £35
    6   C           P1       X       £100

Я могу успешно объединить первые два столбца с помощью кода, но мне все это не удалось:

df_merge=pd.merge(dfa,dfb,how='left',on=['Competitor','Product'])

Не могли бы вы помочь мне с этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...