Les Pandas fusionnent deux dataframes avec des colonnes différentes

Je suis certainement manquant quelque chose de simple ici. Essayant de fusionner les deux dataframes dans les pandas qui ont pour la plupart les mêmes noms de colonnes, mais le droit dataframe a certaines colonnes que la gauche n'a pas, et vice versa.

>df_may

  id  quantity  attr_1  attr_2
0  1        20       0       1
1  2        23       1       1
2  3        19       1       1
3  4        19       0       0

>df_jun

  id  quantity  attr_1  attr_3
0  5         8       1       0
1  6        13       0       1
2  7        20       1       1
3  8        25       1       1

J'ai essayé de joindre avec une jointure externe:

mayjundf = pd.DataFrame.merge(df_may, df_jun, how="outer")

Mais qui donne:

Left data columns not unique: Index([....

J'ai aussi spécifié qu'une seule colonne à rejoindre (on = "id", par exemple), mais qui duplique toutes les colonnes à l'exception de "id" comme attr_1_x, attr_1_y, qui n'est pas idéal. J'ai aussi passé l'ensemble de la liste des colonnes (ils sont nombreux) sur "on":

mayjundf = pd.DataFrame.merge(df_may, df_jun, how="outer", on=list(df_may.columns.values))

Ce qui donne:

ValueError: Buffer has wrong number of dimensions (expected 1, got 2)

Ce qui me manque? Je voudrais faire un df avec toutes les lignes ajoutées, et attr_1, attr_2, attr_3 peuplée, si possible, NaN où ils ne se présentent pas. Cela me semble assez typique de flux de travail pour les données munging, mais je suis coincé.

Merci d'avance.

source d'informationauteur economy