Comment supprimer plusieurs colonnes dans Pandas (4 méthodes)
Vous pouvez utiliser les méthodes suivantes pour supprimer plusieurs colonnes d’un DataFrame pandas :
Méthode 1 : supprimer plusieurs colonnes par nom
df.drop(columns=['col1', 'col2', 'col4'], inplace=True)
Méthode 2 : supprimer les colonnes dans la plage par nom
df.drop(columns=df.loc[:, 'col1':'col4'], inplace=True)
Méthode 3 : supprimer plusieurs colonnes par index
df.drop(columns=df.columns[[0, 3, 4]], inplace=True)
Méthode 4 : supprimer les colonnes dans la plage par index
df.drop(columns=df.columns[1:4], inplace=True)
Remarque : L’argument inplace=True indique aux pandas de supprimer les colonnes en place sans réaffecter le DataFrame.
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], 'points': [18, 22, 19, 14, 14, 11, 20, 28], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12], 'steals': [4, 5, 10, 12, 4, 8, 7, 2]}) #view DataFrame print(df) team points assists rebounds steals 0 A 18 5 11 4 1 B 22 7 8 5 2 C 19 7 10 10 3 D 14 9 6 12 4 E 14 12 6 4 5 F 11 9 5 8 6 G 20 9 9 7 7 H 28 4 12 2
Exemple 1 : supprimer plusieurs colonnes par nom
Le code suivant montre comment supprimer les colonnes points , rebonds et vols par nom :
#drop multiple columns by name df.drop(columns=['points', 'rebounds', 'steals'], inplace=True) #view updated Dataframe print(df) team assists 0 A 5 1 B 7 2 C 7 3 D 9 4 E 12 5 F 9 6 G 9 7 H 4
Exemple 2 : supprimer des colonnes dans la plage par nom
Le code suivant montre comment déposer chaque colonne entre les colonnes de points et de rebonds par son nom :
#drop columns in range by name df.drop(columns=df.loc[:, 'points':'rebounds'], inplace=True) #view updated Dataframe print(df) team steals 0 A 4 1 B 5 2 C 10 3 D 12 4 E 4 5 F 8 6 G 7 7 H 2
Exemple 3 : supprimer plusieurs colonnes par index
Le code suivant montre comment supprimer les colonnes aux positions d’index 0, 3 et 4 du DataFrame :
#drop multiple columns by index df.drop(columns=df.columns[[0, 3, 4]], inplace=True) #view updated Dataframe print(df) points assists 0 18 5 1 22 7 2 19 7 3 14 9 4 14 12 5 11 9 6 20 9 7 28 4
Exemple 4 : supprimer des colonnes dans la plage par index
Le code suivant montre comment supprimer les colonnes aux positions d’index 0, 3 et 4 du DataFrame :
#drop columns by index range df.drop(columns=df.columns[1:4], inplace=True) #view updated Dataframe print(df) team steals 0 A 4 1 B 5 2 C 10 3 D 12 4 E 4 5 F 8 6 G 7 7 H 2
Notez que la syntaxe df.columns[1:4] spécifie les colonnes dans les positions d’index 1 à 4.
Ainsi, cette syntaxe supprime les colonnes aux positions d’index 1, 2 et 3.
Remarque : Vous pouvez trouver la documentation complète de la fonction pandas drop() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Pandas : Comment supprimer des colonnes avec des valeurs NaN
Pandas : Comment supprimer des colonnes ne figurant pas dans la liste
Pandas : comment supprimer toutes les colonnes sauf certaines spécifiques