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!