У меня есть следующая проблема: у меня есть два фрейма данных pandas разной длины, содержащие несколько строк и столбцов, которые имеют общие значения, а некоторые - разные, например:
df1: df2:
Column1 Column2 Column3 ColumnA ColumnB ColumnC
0 a x x 0 c y y
1 c x x 1 e z z
2 e x x 2 a s s
3 d x x 3 d f f
4 h x x
5 k x x
Теперь я хочу объединить два фрейма данных, чтобы при одинаковом значении ColumnA и Column1 строки из df2 добавлялись к соответствующей строке в df1, например так:
df1:
Column1 Column2 Column3 ColumnB ColumnC
0 a x x s s
1 c x x y y
2 e x x z z
3 d x x f f
4 h x x NaN NaN
5 k x x NaN NaN
Я знаю, что слияние выполнимо через
df1.merge(df2,left_on='Column1', right_on='ColumnA')
но эта команда удаляет все строки, которые не совпадают в Column1 и ColumnA в обоих файлах. Вместо этого я хочу сохранить эти строки в df1 и просто назначить им NaN в столбцах, где другие строки имеют значение из df2, как показано выше. Есть ли плавный способ сделать это в пандах?
Заранее спасибо!