Lors de la fusion de deux DataFrames, il est courant de conserver les informations du premier tout en incorporant les données du second. Explorons comment y parvenir dans Pandas.
Considérons le scénario suivant :
Notre objectif est de remplir df1 avec des informations sexuelles tout en conservant les informations sur les individus non présents dans df2.
<code class="python">df = df1.merge(df2[['Name', 'Sex']], on='Name', how='left')</code>
Cette opération de fusion rejoint df1 sur la colonne Nom avec df2 tout en conservant toutes les lignes de df1 (en raison de la jointure gauche) et en mettant à jour les valeurs dans Sex le cas échéant.
<code class="python">df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])</code>
Cette approche utilise la fonction map pour mapper la colonne Nom de df1 à la colonne Sexe de df2 tout en définissant Name comme index dans df2. Cela correspond efficacement aux individus dans les deux DataFrames, en remplissant les valeurs manquantes avec NaN.
S'il y a des valeurs Name en double dans df2, l'approche cartographique peut renvoyer des résultats incohérents. Dans de tels cas, envisagez de dédupliquer df2 ou d'utiliser un mappage basé sur un dictionnaire.
De plus, utilisez la fonction de fusion avec prudence si Name contient des valeurs manquantes, car cela entraînera la suppression des lignes sans correspondance. Si l'intégrité des données est critique, gérez les valeurs manquantes de manière appropriée avant de les fusionner.
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!