Comment supprimer des lignes par index dans Pandas (avec exemples)



Vous pouvez utiliser la syntaxe suivante pour supprimer une ligne d’un DataFrame pandas par numéro d’index :

#drop first row from DataFrame
df = df.drop(index=0)

Et vous pouvez utiliser la syntaxe suivante pour supprimer plusieurs lignes d’un DataFrame pandas par numéros d’index :

#drop first, second, and fourth row from DataFrame
df = df.drop(index=[0, 1, 3])

Si votre DataFrame a des chaînes comme valeurs d’index, vous pouvez simplement transmettre les noms sous forme de chaînes à supprimer :

df = df.drop(index=['first', 'second', 'third'])

Les exemples suivants montrent comment supprimer des lignes par index dans la pratique.

Exemple 1 : supprimer une ligne par index

Le code suivant montre comment supprimer la deuxième ligne dans un DataFrame pandas :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   'first': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
                   'points': [26, 31, 22, 29]})

#view DataFrame
df

        team	first	last	 points
0	Mavs	Dirk	Nowitzki 26
1	Lakers	Kobe	Bryant	 31
2	Spurs	Tim	Duncan	 22
3	Cavs	Lebron	James	 29

#drop second row from DataFrame
df = df.drop(index=1) 

#view resulting dataFrame
df

        team	first	last	 points
0	Mavs	Dirk	Nowitzki 26
2	Spurs	Tim	Duncan	 22
3	Cavs	Lebron	James	 29

Exemple 2 : supprimer plusieurs lignes par index

Le code suivant montre comment supprimer plusieurs lignes dans un DataFrame pandas par index :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   'first': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
                   'points': [26, 31, 22, 29]})

#view DataFrame
df

        team	first	last	 points
0	Mavs	Dirk	Nowitzki 26
1	Lakers	Kobe	Bryant	 31
2	Spurs	Tim	Duncan	 22
3	Cavs	Lebron	James	 29

#drop first, second, and fourth row from DataFrame
df = df.drop(index=[0, 1, 3]) 

#view resulting dataFrame
df

	team	first	last	points
2	Spurs	Tim	Duncan	22

Exemple 3 : supprimer des lignes lorsque l’index est une chaîne

Le code suivant montre comment supprimer des lignes d’un DataFrame pandas par index lorsque l’index est une chaîne au lieu d’un nombre :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
                   'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
                   'points': [26, 31, 22, 29]},
                   index=['A', 'B', 'C', 'D'])

#view DataFrame
df
        team	first	last	 points
A	Mavs	Dirk	Nowitzki 26
B	Lakers	Kobe	Bryant	 31
C	Spurs	Tim	Duncan	 22
D	Cavs	Lebron	James	 29

#remove rows with index values 'A' and 'C'
df = df.drop(index=['A', 'C'])

#view resulting DataFrame
df

team	first	last	points
B	Lakers	Kobe	Bryant	31
D	Cavs	Lebron	James	29

Ressources additionnelles

Comment supprimer des colonnes par index dans Pandas
Pandas : comment supprimer des lignes contenant une chaîne spécifique
Pandas : Comment supprimer les lignes en double

Ajouter un commentaire

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