Pandas : comment supprimer toutes les colonnes sauf certaines spécifiques



Vous pouvez utiliser les méthodes suivantes pour supprimer toutes les colonnes, sauf certaines, d’un DataFrame pandas :

Méthode 1 : utiliser des crochets doubles

df = df[['col2', 'col6']]

Méthode 2 : utilisez .loc

df = df.loc[:, ['col2', 'col6']]

Les deux méthodes suppriment toutes les colonnes du DataFrame, à l’exception des colonnes appelées col2 et col6 .

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame with six columns
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, 3, 3, 2, 5, 4, 3, 8],
                   'blocks': [1, 0, 0, 3, 2, 2, 1, 5]})

#view DataFrame
print(df)

  team  points  assists  rebounds  steals  blocks
0    A      18        5        11       4       1
1    B      22        7         8       3       0
2    C      19        7        10       3       0
3    D      14        9         6       2       3
4    E      14       12         6       5       2
5    F      11        9         5       4       2
6    G      20        9         9       3       1
7    H      28        4        12       8       5

Exemple 1 : supprimez toutes les colonnes, sauf certaines spécifiques, à l’aide de doubles crochets

Nous pouvons utiliser la syntaxe suivante pour supprimer toutes les colonnes du DataFrame sauf celles appelées points et blocs :

#drop all columns except points and blocks
df = df[['points', 'blocks']]

#view updated DataFrame
print(df)

   points  blocks
0      18       1
1      22       0
2      19       0
3      14       3
4      14       2
5      11       2
6      20       1
7      28       5

Notez que seules les colonnes de points et de blocs restent.

Toutes les autres colonnes ont été supprimées.

Exemple 2 : supprimez toutes les colonnes sauf certaines spécifiques à l’aide de .loc

Nous pouvons également utiliser la fonction .loc pour supprimer toutes les colonnes du DataFrame sauf celles appelées points et blocs :

#drop all columns except points and blocks
df = df.loc[:, ['points', 'blocks']]

#view updated DataFrame
print(df)

   points  blocks
0      18       1
1      22       0
2      19       0
3      14       3
4      14       2
5      11       2
6      20       1
7      28       5

Notez que seules les colonnes de points et de blocs restent.

Cela correspond aux résultats de l’exemple précédent.

Connexes : Pandas loc vs iloc : quelle est la différence ?

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment supprimer la première ligne dans Pandas DataFrame
Comment supprimer la première colonne dans Pandas DataFrame
Comment supprimer les colonnes en double dans Pandas

Ajouter un commentaire

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