Pandas - Zusammenführen von zwei DataFrames mit identischen Spaltennamen

Ich habe zwei Datenrahmen mit identischen Spaltennamen und identischen IDs in der ersten Spalte. Mit Ausnahme der ID-Spalte enthält jede Zelle, die einen Wert in einem DataFrame enthält, NaN in der anderen. Hier ist ein Beispiel, wie sie aussehen:

ID    Cat1    Cat2    Cat3
1     NaN     75      NaN
2     61      NaN     84
3     NaN     NaN     NaN


ID    Cat1    Cat2    Cat3
1     54      NaN     44
2     NaN     38     NaN
3     49      50      53

Ich möchte sie in einem DataFrame zusammenführen und dabei die gleichen Spaltennamen beibehalten. Das Ergebnis würde also so aussehen:

ID    Cat1    Cat2    Cat3
1     54      75      44
2     61      38      84
3     49      50      53

Ich habe es versucht:

df3 = pd.merge(df1, df2, on='ID', how='outer')

Das gab mir einen DataFrame mit doppelt so vielen Spalten. Wie kann ich die Werte aus jedem DataFrame in einem zusammenführen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage