Maison >développement back-end >Tutoriel Python >Comment les DataFrames Pandas fusionnent-ils en utilisant différents types de jointure ?
Comprendre la fusion
La fusion combine deux ou plusieurs DataFrames basés sur des clés partagées pour créer un nouveau DataFrame . Pandas propose différents types de fusions, notamment les jointures INNER, LEFT, RIGHT et FULL OUTER.
Types de jointure de base
a. INNER JOIN
Exemple :
left = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': np.random.randn(4)}) right = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': np.random.randn(4)}) left.merge(right, on='key')
b. LEFT OUTER JOIN
Exemple :
left.merge(right, on='key', how='left')
c. RIGHT OUTER JOIN
Exemple :
left.merge(right, on='key', how='right')
d. FULL OUTER JOIN
Exemple :
left.merge(right, on='key', how='outer')
Exclusion de données avec exclusion gauche/droite Jointures
Si vous devez exclure des lignes spécifiques, vous pouvez effectuer une JOINTURE avec exclusion de gauche ou avec exclusion de droite en effectuant d'abord une JOINTURE EXTERNE GAUCHE/DROITE et en filtrant pour exclure les lignes de l'autre DataFrame.
e. Left-Excluding JOIN
Exemple :
(left.merge(right, on='key', how='left', indicator=True) .query('_merge == "left_only"') .drop('_merge', 1))
f. Right-Excluding JOIN
Exemple :
(left.merge(right, on='key', how='right', indicator=True) .query('_merge == "right_only"') .drop('_merge', 1))
g. ANTI JOIN
Exemple :
(left.merge(right, on='key', how='outer', indicator=True) .query('_merge != "both"') .drop('_merge', 1))
Gestion des colonnes clés en double
À Pour éviter les colonnes clés en double dans la sortie, vous pouvez définir les index appropriés comme clés avant de fusionner :
left3 = left2.set_index('keyLeft') left3.merge(right2, left_index=True, right_on='keyRight')
Fusion sur plusieurs colonnes
Pour joindre plusieurs colonnes, spécifiez une liste pour on (ou left_on et right_on, selon le cas).
left.merge(right, on=['key1', 'key2'] ...)
Fusion supplémentaire Fonctions
Se référer à la documentation sur la fusion , rejoignez et concaténez pour des exemples et des cas plus spécifiques.
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!