Pandas - mescla dois DataFrames com nomes de colunas idênticos

Eu tenho dois quadros de dados com nomes de colunas idênticos e identificações idênticas na primeira coluna. Com exceção da coluna ID, todas as células que contêm um valor em um DataFrame contêm NaN na outra. Aqui está um exemplo de como eles se parecem:

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

Quero mesclá-los em um DataFrame, mantendo os mesmos nomes de coluna. Portanto, o resultado ficaria assim:

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

Eu tentei:

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

O que me deu um DataFrame contendo duas vezes mais colunas. Como mesclar os valores de cada DataFrame em um?

questionAnswers(3)

yourAnswerToTheQuestion