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 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>
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>
Sortie :
a b c d a 0 5 0 10 b 1 3 1 20
Jointure à gauche (par défaut) :
Pour effectuer une jointure à gauche, à l'aide de la fonction de jointure :
<code class="python">df1.join(df2)</code>
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
Jointure externe :
Pour effectuer une jointure externe, à l'aide de la fonction concat :
<code class="python">pd.concat([df1, df2], axis=1)</code>
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
Remarques importantes :
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!