Maison  >  Article  >  développement back-end  >  Comment supprimer les doublons consécutifs dans Pandas ?

Comment supprimer les doublons consécutifs dans Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-15 04:09:02116parcourir

How to Remove Consecutive Duplicates in Pandas?

Suppression des doublons consécutifs dans Pandas

Bien que la méthode drop_duplicates() de Pandas soit efficace pour éliminer toutes les valeurs en double, elle ne discerne pas les occurrences consécutives . Pour remédier à cette limitation, il existe des méthodes efficaces pour supprimer sélectivement uniquement les doublons consécutifs.

Une approche utilise la fonction shift pour comparer la valeur actuelle à la précédente :

a.loc[a.shift() != a]

Cette logique renvoie un masque où les doublons consécutifs sont caractérisés par des valeurs fausses. La méthode loc sélectionne ensuite uniquement les lignes avec des valeurs vraies, supprimant ainsi les doublons consécutifs.

Une autre méthode utilise la fonction diff pour détecter les changements :

a.loc[a.diff() != 0]

Cependant, cette approche est moins efficace. pour les grands ensembles de données en raison de la surcharge associée à la différenciation calcul.

Mise à jour

Il convient de noter que la période de décalage par défaut est 1, donc shift() et shift(1) produisent des résultats équivalents :

a.loc[a.shift(1) != a]

Cela garantit que la première valeur consécutive est correctement identifiée comme un doublon.

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