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?

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')

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 .


1
la fusion est incorrecte ... avez-vous essayé d'exécuter le code?
Jorge Leitao
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.