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