Pandas : comment supprimer des lignes contenant une valeur spécifique



Vous pouvez utiliser la syntaxe suivante pour supprimer des lignes dans un DataFrame pandas qui contiennent une valeur spécifique dans une certaine colonne :

#drop rows that contain specific 'value' in 'column_name'
df = df[df.column_name != value]

Vous pouvez utiliser la syntaxe suivante pour supprimer des lignes dans un DataFrame pandas qui contiennent n’importe quelle valeur dans une certaine liste :

#define values
values = [value1, value2, value3, ...]

#drop rows that contain any value in the list
df = df[df.column_name.isin(values) == False]

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : supprimer les lignes contenant une valeur spécifique

Le code suivant montre comment supprimer toutes les lignes contenant une valeur spécifique dans une colonne :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   'name': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   'rebounds': [11, 7, 14, 7],
                   'points': [26, 31, 22, 29]})

#view DataFrame
df

        team	name	rebounds points
0	Mavs	Dirk	11	 26
1	Lakers	Kobe	7	 31
2	Spurs	Tim	14	 22
3	Cavs	Lebron	7	 29

#drop any rows that have 7 in the rebounds column
df = df[df.rebounds != 7]

#view resulting DataFrame
df

        team	name	rebounds points
0	Mavs	Dirk	11	 26
2	Spurs	Tim	14	 22

Exemple 2 : supprimer les lignes contenant des valeurs dans une liste

Le code suivant montre comment supprimer toutes les lignes du DataFrame contenant une valeur dans une liste :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   'name': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   'rebounds': [11, 7, 14, 7],
                   'points': [26, 31, 22, 29]})

#view DataFrame
df

        team	name	rebounds points
0	Mavs	Dirk	11	 26
1	Lakers	Kobe	7	 31
2	Spurs	Tim	14	 22
3	Cavs	Lebron	7	 29

#define list of values
values = [7, 11]

#drop any rows that have 7 or 11 in the rebounds column
df = df[df.rebounds.isin(values) == False]

#view resulting DataFrame
df

        team	name	rebounds points
2	Spurs	Tim	14	 22

Exemple 3 : supprimer les lignes contenant des valeurs spécifiques dans plusieurs colonnes

Le code suivant montre comment supprimer les lignes du DataFrame qui contiennent une valeur spécifique dans l’une des plusieurs colonnes :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   'name': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   'rebounds': [11, 7, 14, 7],
                   'points': [26, 31, 22, 29]})

#view DataFrame
df

        team	name	rebounds points
0	Mavs	Dirk	11	 26
1	Lakers	Kobe	7	 31
2	Spurs	Tim	14	 22
3	Cavs	Lebron	7	 29

#drop any rows that have 11 in the rebounds column or 31 in the points column
df = df[(df.rebounds != 11) & (df.points != 31)]

#view resulting DataFrame
df

team	name	rebounds	points
2	Spurs	Tim	14	22
3	Cavs	Lebron	7	29

Ressources additionnelles

Comment supprimer des lignes par index dans Pandas
Comment supprimer des colonnes par index dans Pandas
Comment supprimer des lignes contenant une chaîne spécifique dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *