Pandas : Comment supprimer des colonnes ne figurant pas dans la liste



Vous pouvez utiliser la syntaxe de base suivante pour supprimer des colonnes d’un DataFrame pandas qui ne figurent pas dans une liste spécifique :

#define columns to keep
keep_cols = ['col1', 'col2', 'col3']

#create new dataframe by dropping columns not in list
new_df = df[df.columns.intersection(keep_cols)]

Cet exemple particulier supprimera toutes les colonnes du DataFrame qui ne sont pas égales à col1 , col2 ou col3 .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : supprimer les colonnes ne figurant pas dans la liste dans Pandas

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :

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, 4, 10, 12, 8, 5, 5, 2]})

#view DataFrame
print(df)

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

Supposons maintenant que nous souhaitions créer un nouveau DataFrame qui supprime toutes les colonnes qui ne figurent pas dans la liste de colonnes suivante : team , points et Steles .

Nous pouvons utiliser la syntaxe suivante pour ce faire :

#define columns to keep
keep_cols = ['team', 'points', 'steals']

#create new dataframe by dropping columns not in list
new_df = df[df.columns.intersection(keep_cols)]

#view new dataframe
print(new_df)

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

Notez que chacune des colonnes du DataFrame d’origine qui ne figurent pas dans la liste keep_cols ont été supprimées du nouveau DataFrame.

Ressources additionnelles

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

Comment supprimer la première rangée chez les pandas
Comment supprimer la première colonne dans Pandas
Comment supprimer les colonnes en double dans Pandas
Comment supprimer toutes les colonnes sauf certaines dans Pandas

Ajouter un commentaire

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