У меня есть два фрейма данных df и df2, как показано ниже
+------+---+----+
| name|age|city|
+------+---+----+
| John| 25| LA|
| Jane| 26| LA|
|Joseph| 28| SA|
+------+---+----+
+---+----+------+
|age|city|salary|
+---+----+------+
| 25| LA| 40000|
| 26| | 50000|
| | SF| 60000|
+---+----+------+
Я хочу, чтобы мой фрейм данных результата был ниже
+------+---+----+------+
| name|age|city|salary|
+------+---+----+------+
| John| 25| LA| 40000|
| Jane| 26| LA| 50000|
|Joseph| 28| SF| 60000|
+------+---+----+------+
В основном здесь мне нужно присоединиться, используя возраст, город в качестве столбцов соединения но если один из столбцов пуст в df2, тогда мне нужно объединиться только с другим ненулевым столбцом. Решение, которое я ищу, должно быть применимо, даже если в объединении имеется около 5 столбцов, только столбец, не равный NULL, должен участвовать в объединении для каждой строки.