У меня есть 2 кадра данных, например:
DF1:
Id | field_A | field_B | field_C | field_D
1 | cat | 12 | black | 11
2 | dog | 128 | white | 19
3 | dog | 35 | yellow | 20
4 | dog | 21 | brown | 4
5 | bird | 10 | blue | 7
6 | cow | 99 | brown | 34
DF2:
Id | field_B | field_C | field_D | field_E
3 | 35 | yellow | 20 | 123
5 | 10 | blue | 7 | 454
6 | 99 | brown | 34 | 398
И после слияния влево я надеюсь получитьследующий фрейм данных:
Id | field_A | field_B | field_C | field_D | field_E
1 | cat | 12 | black | 11 |
2 | dog | 128 | white | 19 |
3 | dog | 35 | yellow | 20 | 123
4 | dog | 21 | brown | 4 |
5 | bird | 10 | blue | 7 | 454
6 | cow | 99 | brown | 34 | 398
Но я получаю следующий фрейм данных:
Id | field_A | field_B | field_C | field_D | field_E
3 | dog | 35 | yellow | 20 | 123
5 | bird | 10 | blue | 7 | 454
6 | cow | 99 | brown | 34 | 398
Я использую следующий синтаксис:
new_df = df1.join(df2, on=['field_B', 'field_C', 'field_D'], how='left_outer')
I 'м работает на свечах 2.2.Может кто-нибудь сказать, пожалуйста, почему это происходит?Спасибо!