Maison >développement back-end >Tutoriel Python >Comment supprimer les lignes en double sur plusieurs colonnes dans Pandas ?

Comment supprimer les lignes en double sur plusieurs colonnes dans Pandas ?

DDD
DDDoriginal
2024-12-19 10:24:15338parcourir

How to Remove Duplicate Rows Across Multiple Columns in Pandas?

Suppression des doublons sur plusieurs colonnes dans Python Pandas

La fonction drop_duplicates dans Pandas fournit un moyen pratique de supprimer les lignes en double en fonction des colonnes spécifiées. Cependant, que se passe-t-il si vous souhaitez supprimer les doublons non pas sur une seule colonne mais plutôt sur un sous-ensemble de plusieurs colonnes ?

Pour y parvenir, nous pouvons exploiter la puissance de drop_duplicates avec le paramètre subset. En spécifiant la liste des colonnes dans lesquelles rechercher les doublons, vous pouvez vous assurer que les lignes correspondant à n'importe quelle combinaison de ces colonnes sont éliminées.

Considérez l'exemple suivant :

    A   B   C
0   foo 0   A
1   foo 1   A
2   foo 1   B
3   bar 1   A

Notre objectif est pour supprimer les lignes qui correspondent aux colonnes A et C. Cela supprimerait les lignes 0 et 1, car elles ont les mêmes valeurs dans les deux columns.

En utilisant drop_duplicates, nous pouvons accomplir cela avec le code suivant :

import pandas as pd

df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":[0,1,1,1], "C":["A","A","B","A"]})
df.drop_duplicates(subset=['A', 'C'], keep=False)

Le paramètre subset spécifie les colonnes à utiliser pour la détection des doublons. Le paramètre keep, défini sur False, garantit que toutes les lignes en double sont supprimées.

Le DataFrame résultant sera le suivant :

    A   B   C
0   foo 0   A
2   foo 1   B
3   bar 1   A

Les lignes 0 et 1 ont été supprimées car elles correspondaient sur A et C, unifiant efficacement le DataFrame en fonction de ces 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!

Déclaration:
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