Pandas: combine dos marcos de datos con nombres de columna idénticos
Tengo dos marcos de datos con nombres de columna idénticos e ID idénticos en la primera columna. Con la excepción de la columna ID, cada celda que contiene un valor en un DataFrame contiene NaN en la otra. Aquí hay un ejemplo de cómo se ven:
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
Quiero fusionarlos en un DataFrame manteniendo los mismos nombres de columna. Entonces el resultado se vería así:
ID Cat1 Cat2 Cat3
1 54 75 44
2 61 38 84
3 49 50 53
Lo intenté:
df3 = pd.merge(df1, df2, on='ID', how='outer')
Lo que me dio un DataFrame que contiene el doble de columnas. ¿Cómo puedo combinar los valores de cada DataFrame en uno?