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!