Comment fusionner des DataFrames dans Pandas par index et quels sont les différents types de fusions disponibles ?

Mary-Kate Olsen
Libérer: 2024-10-31 01:35:03
original
522 Les gens l'ont consulté

How do you merge DataFrames in Pandas by index and what are the different types of merges available?

Fusionner des DataFrames par index : un guide complet

La fusion de deux DataFrames en fonction de leurs indices est une tâche courante de manipulation de données. Cependant, des erreurs ou un comportement inattendu peuvent survenir si la fusion n'est pas abordée correctement. Dans ce guide, nous examinerons les différentes méthodes de fusion par index, en mettant en évidence leurs principales différences et leurs pièges potentiels.

Comprendre les fonctions de fusion

Dans la bibliothèque Pandas de Python, plusieurs fonctions sont disponibles pour fusionner des DataFrames : fusionner, joindre et concaténer. Chaque fonction a son propre type de jointure par défaut :

  • fusion : jointure interne
  • rejoindre : jointure gauche
  • concat : Jointure externe

Fusion par index

Pour fusionner deux DataFrames par index, nous devons spécifier les paramètres left_index et right_index dans les fonctions de fusion ou de jointure. Cela indique à Pandas d'utiliser les étiquettes de ligne (indices) des DataFrames comme clés de jointure.

Exemple :

Considérez les deux DataFrames suivants :

<code class="python">df1 = pd.DataFrame({'a': range(6), 'b': [5, 3, 6, 9, 2, 4]}, index=list('abcdef'))
df2 = pd.DataFrame({'c': range(4), 'd': [10, 20, 30, 40]}, index=list('abhi'))</code>
Copier après la connexion

Jointure interne (par défaut) :

Pour effectuer une jointure interne, à l'aide de la fonction de fusion :

<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
Copier après la connexion

Sortie :

   a  b  c   d
a  0  5  0  10
b  1  3  1  20
Copier après la connexion

Jointure à gauche (par défaut) :

Pour effectuer une jointure à gauche, à l'aide de la fonction de jointure :

<code class="python">df1.join(df2)</code>
Copier après la connexion

Sortie :

   a  b    c     d
a  0  5  0.0  10.0
b  1  3  1.0  20.0
c  2  6  NaN   NaN
d  3  9  NaN   NaN
e  4  2  NaN   NaN
f  5  4  NaN   NaN
Copier après la connexion

Jointure externe :

Pour effectuer une jointure externe, à l'aide de la fonction concat :

<code class="python">pd.concat([df1, df2], axis=1)</code>
Copier après la connexion

Sortie :

     a    b    c     d
a  0.0  5.0  0.0  10.0
b  1.0  3.0  1.0  20.0
c  2.0  6.0  NaN   NaN
d  3.0  9.0  NaN   NaN
e  4.0  2.0  NaN   NaN
f  5.0  4.0  NaN   NaN
h  NaN  NaN  2.0  30.0
i  NaN  NaN  3.0  40.0
Copier après la connexion

Remarques importantes :

  • La fusion par index est efficace lorsque les colonnes de jointure ont des tailles plus petites par rapport au DataFrame global.
  • La jointure externe par index peut être coûteuse en calcul.
  • Il est généralement considéré comme une bonne pratique de déplacer l'index vers une colonne avant d'effectuer une fusion.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!