Maison > Article > développement back-end > Comment fusionner deux DataFrames basés sur un index dans Pandas ?
Lorsque vous travaillez avec des dataframes, il est souvent nécessaire de les combiner en fonction de critères spécifiques. Dans ce cas, l'objectif est de fusionner deux dataframes, df1 et df2, par index.
Par défaut, la fonction merge() de la bibliothèque Pandas de Python attend une correspondance basée sur les colonnes. Cependant, la fusion sur index est possible à l'aide de paramètres spécifiques.
Pour effectuer une jointure interne, où seules les lignes avec des indices correspondants sont conservées, utilisez le code suivant :
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
Cette opération produit le sortie suivante :
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | A |
421 | 18 | false | 0.00 | 1 | B |
Alternativement, une jointure gauche peut être effectuée à l'aide de la méthode join() :
<code class="python">df1.join(df2)</code>
Cela donne :
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | NaN |
421 | 18 | false | 0.00 | 1 | B |
2 | 56 | false | 0.00 | 1 | NaN |
5 | 37 | false | 0.20 | 1 | NaN |
Enfin, une jointure externe peut être réalisée à l'aide de la fonction concat() :
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
La trame de données résultante inclut toutes les lignes des deux trames de données d'entrée :
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | A |
421 | 18 | false | 0.00 | 1 | B |
2 | 56 | false | 0.00 | 1 | NaN |
5 | 37 | false | 0.20 | 1 | NaN |
8 | 36 | false | 0.50 | 1 | NaN |
NaN | 37 | false | 0.30 | 2 | NaN |
N'oubliez pas que la fusion sur l’index n’est pas une pratique courante et doit être soigneusement étudiée pour éviter la perte de données ou les problèmes d’intégrité. Si la fusion par index est inévitable, les méthodes fournies offrent des options flexibles pour obtenir les résultats souhaités.
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!