Pandas : comment consolider (merge) deux DataFrame répartis sur de multiples colonnes ?
La fonction "merge()" prend en paramètre les deux DataFrames que l'on souhaite fusionner. Il lui faut ensuite les colonnes avec lesquelles réaliser les jointures. Le paramètre "left_on" doit contenir la ou les colonnes à utiliser dans la première DataFrame. Le paramètre "righ_on" contient lui la ou les colonnes de la deuxième DataFrame sur laquelle on se base pour effectuer la fusion. Le dernier paramètre important se nomme "how". Il définit le type de jointure à utiliser :
- "left" : la jointure est réalisée en utilisant seulement la ou les clé(s) de la première table.
- "right" : la jointure est réalisée en utilisant seulement la ou les clé(s) de la dernière table.
- "outer" : on utilise l'union des deux clés pour effectuer la jointure.
- - "inner" : on utilise l'intersection des deux clés pour effectuer la jointure.
# Exemple avec deux DataFrames : l'une contient les hauteurs et l'autre les largeurs des images import pandas as pd largeur | image | largeur 0 | image 1 | 800px 1 | image 2 | 1280px 2 | image 3 | 5000px 3 | image 4 | 2000px hauteur | nom_image | hauteur 0 | image 1 | 600px 1 | image 2 | 1020px 2 | image 3 | 3000px 3 | image 5 | 2000px fusion = pd.merge(largeur, hauteur, how="right", left_on="image", right_on="nom_image") fusion | nom_image | hauteur| image | largeur 0 | image 1 | 600px | image 1 | 800px 1 | image 2 | 1020px | image 2 | 1280px 2 | image 3 | 3000px | image 3 | 5000px 3 | image 5 | 2000px | |