Maison >base de données >tutoriel mysql >Comment effectuer une jointure externe gauche Pandas sur plusieurs DataFrames avec plusieurs colonnes de jointure ?

Comment effectuer une jointure externe gauche Pandas sur plusieurs DataFrames avec plusieurs colonnes de jointure ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-04 00:51:441040parcourir

How to Perform a Pandas Left Outer Join Across Multiple DataFrames with Multiple Join Columns?

Pandas a laissé une jointure externe sur plusieurs DataFrames avec plusieurs colonnes

Dans Pandas, la fusion de dataframes est une tâche courante. Cela devient plus complexe lors de l'exécution de jointures impliquant plusieurs tables et plusieurs colonnes de jointure. Pour une jointure externe gauche, nous conservons toutes les lignes du dataframe de gauche et remplissons les valeurs manquantes du dataframe de droite.

Pour fusionner les dataframes df1, df2 et df3 avec plusieurs colonnes de jointure, nous recommandons une procédure en deux étapes approche :

Étape 1 : Fusionner df1 et df2

s1 = pd.merge(df1, df2, how='left', on=['Year', 'Week', 'Colour'])

Étape 2 : Fusionner le résultat de l'étape 1 avec df3

Puisque nous n'avons pas besoin de la colonne Année pour la deuxième fusion, nous pouvons le supprimer de df3 avant de rejoindre :

df3_dropped = df3.drop('Year', axis=1)
df = pd.merge(s1, df3_dropped, how='left', on=['Week', 'Colour'])

Cela nous donne le résultat souhaité sortie :

   Year Week Colour  Val1  Val2 Val3
0  2014    A    Red    50   NaN  NaN
1  2014    B    Red    60   NaN   60
2  2014    B  Black    70   100   10
3  2014    C    Red    10    20  NaN
4  2014    D  Green    20   NaN   20

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!

Déclaration:
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