Comment sélectionner des lignes uniques dans un DataFrame Pandas
Vous pouvez utiliser la syntaxe suivante pour sélectionner des lignes uniques dans un DataFrame pandas :
df = df.drop_duplicates()
Et vous pouvez utiliser la syntaxe suivante pour sélectionner des lignes uniques dans des colonnes spécifiques dans un DataFrame pandas :
df = df.drop_duplicates(subset=['col1', 'col2', ...])
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'a': [4, 4, 3, 8], 'b': [2, 2, 6, 8], 'c': [2, 2, 9, 9]}) #view DataFrame df a b c 0 4 2 2 1 4 2 2 2 3 6 9 3 8 8 9
Exemple 1 : sélectionner des lignes uniques dans toutes les colonnes
Le code suivant montre comment sélectionner des lignes uniques dans toutes les colonnes du DataFrame pandas :
#drop duplicates from DataFrame df = df.drop_duplicates() #view DataFrame df a b c 0 4 2 2 2 3 6 9 3 8 8 9
Les première et deuxième lignes étaient des doublons, donc les pandas ont laissé tomber la deuxième ligne.
Par défaut, la fonction drop_duplicates() conservera le premier doublon. Cependant, vous pouvez spécifier de conserver le dernier doublon à la place :
#drop duplicates from DataFrame, keep last duplicate df = df.drop_duplicates(keep='last') #view DataFrame df a b c 1 4 2 2 2 3 6 9 3 8 8 9
Exemple 2 : sélectionner des lignes uniques dans des colonnes spécifiques
Le code suivant montre comment sélectionner des lignes uniques dans la seule colonne « c » du DataFrame :
#drop duplicates from column 'c' in DataFrame df = df.drop_duplicates(subset=['c']) #view DataFrame df a b c 0 4 2 2 2 3 6 9
Deux lignes ont été supprimées du DataFrame.
Ressources additionnelles
Comment sélectionner des lignes par index dans un DataFrame Pandas
Comment obtenir des numéros de ligne dans un DataFrame Pandas
Comment trouver des valeurs uniques dans une colonne dans Pandas