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
Libérer: 2025-01-04 00:51:44
original
1040 Les gens l'ont consulté

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'])
Copier après la connexion

É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'])
Copier après la connexion

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
Copier après la connexion

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