Maison > développement back-end > Tutoriel Python > Comment différents types de jointure Pandas `merge()` combinent-ils des DataFrames ?

Comment différents types de jointure Pandas `merge()` combinent-ils des DataFrames ?

Susan Sarandon
Libérer: 2024-12-27 17:43:11
original
204 Les gens l'ont consulté

How Do Different Pandas `merge()` Join Types Combine DataFrames?

Pandas Merging 101 : Les bases

Introduction

La fusion de DataFrames dans Pandas est un outil puissant pour combiner et manipuler des données provenant de différentes sources. Ce guide fournit un aperçu complet des types de jointures de base et de leurs applications.

Types de jointures

1. INNER JOIN (par défaut)

  • Faire correspondre les lignes avec des clés communes dans les deux DataFrames.
  • Renvoie uniquement les lignes qui ont des valeurs correspondantes dans les deux cadres.
  • Exemple :

    left.merge(right, on='key')
    Copier après la connexion

2. LEFT OUTER JOIN

  • Faire correspondre les lignes du DataFrame de gauche avec les lignes correspondantes du DataFrame de droite.
  • Si aucune ligne correspondante n'est trouvée, des NaN sont insérés dans la sortie pour le colonnes manquantes à droite DataFrame.
  • Exemple :

    left.merge(right, on='key', how='left')
    Copier après la connexion

3. RIGHT OUTER JOIN

  • Faire correspondre les lignes du DataFrame de droite avec les lignes correspondantes du DataFrame de gauche.
  • Si aucune ligne correspondante n'est trouvée, des NaN sont insérés dans la sortie pour le colonnes manquantes à gauche DataFrame.
  • Exemple :

    left.merge(right, on='key', how='right')
    Copier après la connexion

4. FULL OUTER JOIN

  • Correspond à toutes les lignes des deux DataFrames, qu'elles aient ou non des clés communes.
  • Des NaN sont insérés pour les lignes manquantes dans les deux cadres.
  • Exemple :

    left.merge(right, on='key', how='outer')
    Copier après la connexion

Autres variantes de jointure

1. LEFT-Excluding JOIN

  • Renvoie les lignes du DataFrame de gauche qui ne correspondent à aucune ligne du DataFrame de droite.

2. RIGHT-Excluding JOIN

  • Renvoie les lignes du DataFrame droit qui ne correspondent à aucune ligne du DataFrame gauche.

3. ANTI JOIN (sauf de chaque côté)

  • Renvoie les lignes des deux DataFrames qui ne correspondent à aucune ligne de l'autre côté.

Gestion des différents Noms des colonnes clés

  • Utilisez les arguments left_on et right_on pour fusionner sur des colonnes avec des noms différents.

Éviter les colonnes clés en double dans la sortie

  • Définissez l'index comme étape préliminaire pour fusionner sur l'index et éliminez la colonne de clé en double.

Fusion d'une seule colonne à partir d'une seule DataFrame

  • Sous-ensemble des colonnes avant la fusion pour sélectionner des colonnes spécifiques dans l'un des DataFrames.
  • Utilisez map pour une approche plus efficace dans les cas où une seule colonne est fusionnée.

Fusion sur plusieurs Colonnes

  • Spécifiez une liste pour on (ou left_on et right_on) à rejoindre sur plusieurs colonnes.

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