Maison >développement back-end >Tutoriel Python >Comment rechercher tous les éléments en double dans un DataFrame Pandas à l'aide de \'isin\' et \'sort_values\' ?

Comment rechercher tous les éléments en double dans un DataFrame Pandas à l'aide de \'isin\' et \'sort_values\' ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 09:54:28707parcourir

How to Find All Duplicate Items in a Pandas DataFrame Using 'isin' and 'sort_values'?

Liste de tous les éléments en double dans un DataFrame Pandas à l'aide de 'isin' et 'sort_values'

Dans cet article, nous aborderons le problème de trouver tous les éléments en double dans une liste d'éléments contenant éventuellement des erreurs d'exportation. Notre objectif est de récupérer une liste complète de ces doublons pour une comparaison manuelle et un dépannage.

La méthode « dupliquée » de pandas ne renvoie que la première instance de valeurs en double par défaut. Cependant, en utilisant une combinaison de « isin » et « sort_values ​​», nous pouvons afficher toutes les lignes associées aux ID dupliqués :

<code class="python"># Import the pandas library
import pandas as pd

# Read the data from the CSV file
df = pd.read_csv('dup.csv')

# Extract the 'ID' column
ids = df['ID']

# Use 'isin' to filter for rows where the 'ID' matches any of the duplicate IDs
df[ids.isin(ids[ids.duplicated()])].sort_values('ID')</code>

Cette méthode répertorie toutes les lignes du DataFrame où la colonne « ID » contient l'un des les identifiants signalés comme doublons. La sortie élimine les lignes en double, garantissant que chaque ID en double n'apparaît qu'une seule fois.

Méthode alternative : regroupement par ID avec 'groupby' et 'concat'

Une approche alternative implique de regrouper le DataFrame par « ID », puis de concaténer les groupes avec plus d'une ligne :

<code class="python"># Group the DataFrame by 'ID'
groups = df.groupby('ID')

# Identify groups with more than one row
large_groups = [group for _, group in groups if len(group) > 1]

# Concatenate the large groups
pd.concat(large_groups)</code>

Cette méthode récupère tous les éléments en double, excluant encore une fois les doublons dans chaque groupe en double. Par défaut, la fonction 'concat' ajoute les groupes en double verticalement.

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