Fusionner deux cadres de données pandas python de longueur différente, mais conserver toutes les lignes dans le cadre de données de sortie

J'ai le problème suivant: j'ai deux pandas trames de données de longueur différente contenant des lignes et des colonnes qui ont des valeurs communes et d'autres qui sont différents, comme ceci:

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            

Ce que je veux faire maintenant, c'est la fusion des deux dataframes de sorte que si ColumnA et Colonne1 ont la même valeur les lignes de df2 sont ajoutées à la ligne correspondante dans df1, comme ceci:

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

Je sais que la fusion est faisable par le biais de df1.merge(df2,left_on='Column1', right_on='ColumnA')mais cette commande supprime toutes les lignes qui ne sont pas les mêmes dans Colonne1 et ColumnA dans les deux fichiers. Au lieu de cela, j'ai envie de garder ces lignes dans df1 et seulement affecter NaN dans les colonnes où d'autres lignes ont une valeur de df2, comme indiqué ci-dessus. Est-il un moyen souple pour ce faire, dans les pandas?

Merci d'avance!

source d'informationauteur sequence_hard