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