Comment fusionner des DataFrames sur une colonne tout en préservant les informations initiales dans un DataFrame ?

Barbara Streisand
Libérer: 2024-11-01 12:50:02
original
370 Les gens l'ont consulté

How to Merge DataFrames on a Column While Preserving the Initial Information in One DataFrame?

Fusionner des DataFrames sur une colonne tout en préservant les informations initiales

Malgré l'utilisation de la fonction de fusion de Pandas, vous rencontrez des difficultés pour fusionner les dataframes df1 et df2 sur la colonne 'Nom' tout en conservant les informations de df1.

Problème :

Dans votre opération de fusion :
df1 = pd.merge(df1, df2, on = 'Nom', comment = 'externe')

Vous effectuez une jointure externe, qui inclut des individus des deux dataframes. Cela provoque l'inclusion des individus de df2 dans df1, même s'ils n'apparaissent pas dans df1 à l'origine.

Solution :

Pour résoudre ce problème, vous pouvez en utiliser un des méthodes suivantes :

Méthode 1 : Utilisation de la carte par série créée par set_index :

df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])
Copier après la connexion

Cette approche établit une série avec « Nom » comme index de colonne « Sexe » de df2. Ensuite, la colonne « Nom » de df1 est mappée à cette série pour attribuer les valeurs « Sexe » correspondantes. Les valeurs manquantes sont résolues en les définissant sur NaN.

Méthode 2 : Effectuer une jointure à gauche :

df = df1.merge(df2[['Name','Sex']], on='Name', how='left')
Copier après la connexion

Une jointure à gauche garantit que les individus de df1 sont prioritaires, avec les valeurs manquantes remplies avec NaN si elles ne sont pas présentes dans df2.

Considérations :

  • Colonnes de fusion multiples : En cas de fusion plusieurs colonnes, spécifiez-les dans le paramètre « on », par exemple, on=['Year','Code'].
  • Valeurs en double : Les valeurs de colonne de fusion en double peuvent provoquer des problèmes. Pensez à supprimer les doublons avant de fusionner ou à utiliser la carte par un dictionnaire pour sélectionner la valeur appropriée.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!