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

Ajouter un commentaire

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