Comment fusionner deux trames de données dans Python Pandas?

12

J'ai deux trames de données df1 et df2 et je voudrais les fusionner en une seule trame de données. C'est comme si df1 et df2 avaient été créés en divisant verticalement un seul bloc de données au centre, comme déchirer un morceau de papier qui contient une liste en deux de sorte que la moitié des colonnes vont sur un papier et la moitié des colonnes vont sur l'autre. Je voudrais les fusionner à nouveau. Comment fait-on ça?

sebastianspiegel
la source

Réponses:

7

Pandas a une fonction de fusion intégrée. Veuillez vous référer à la documentation

End-result should be something like this:
df_merged = pd.merge(df1, df2, left_on=['name_indexcolumn_df1_here'],
              right_on=['name_indexcolumn_df2_here'],
              how='inner')
Rolf Schorpion
la source
4

Si vous divisez le DataFrame "verticalement", vous avez deux DataFrames avec le même index.

Vous pouvez utiliser la fonction de fusion ou la fonction de concaténation .

Avec concat avec serait quelque chose comme ceci:

pandas.DataFrame.concat([df1,df2], axis=1)

Avec la fusion avec serait quelque chose comme ceci:

pandas.Dataframe.merge([df1,df2], left_index=True)

Pour des options de fusion plus complexes, consultez le didacticiel Fusionner, joindre et concaténer des pandas .

João Almeida
la source
1
la fusion est incorrecte ... avez-vous essayé d'exécuter le code?
Jorge Leitao