Comment supprimer des colonnes par index dans Pandas
Vous pouvez utiliser la syntaxe suivante pour supprimer une colonne d’un DataFrame pandas par numéro d’index :
#drop first column from DataFrame df.drop(df.columns[0], axis=1, inplace=True)
Et vous pouvez utiliser la syntaxe suivante pour supprimer plusieurs colonnes d’un DataFrame pandas par numéros d’index :
#drop first, second, and fourth column from DataFrame cols = [0, 1, 3] df.drop(df.columns[cols], axis=1, inplace=True)
Si votre DataFrame a des noms de colonnes en double, vous pouvez utiliser la syntaxe suivante pour supprimer une colonne par numéro d’index :
#define list of columns cols = [x for x in range(df.shape[1])] #drop second column cols.remove(1) #view resulting DataFrame df.iloc[:, cols]
Les exemples suivants montrent comment supprimer des colonnes par index dans la pratique.
Exemple 1 : supprimer une colonne par index
Le code suivant montre comment supprimer la première colonne d’un DataFrame pandas :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'], 'first': ['Dirk', 'Kobe', 'Tim', 'Lebron'], 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'], 'points': [26, 31, 22, 29]}) #drop first column from DataFrame df.drop(df.columns[0], axis=1, inplace=True) #view resulting dataFrame df first last points 0 Dirk Nowitzki 26 1 Kobe Bryant 31 2 Tim Duncan 22 3 Lebron James 29
Exemple 2 : supprimer plusieurs colonnes par index
Le code suivant montre comment supprimer plusieurs colonnes dans un DataFrame pandas par index :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'], 'first': ['Dirk', 'Kobe', 'Tim', 'Lebron'], 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'], 'points': [26, 31, 22, 29]}) #drop first, second and fourth columns from DataFrame cols = [0, 1, 3] df.drop(df.columns[cols], axis=1, inplace=True) #view resulting dataFrame df last 0 Nowitzki 1 Bryant 2 Duncan 3 James
Exemple 3 : supprimer une colonne par index avec des doublons
Le code suivant montre comment supprimer une colonne par numéro d’index dans un DataFrame pandas lorsqu’il existe des noms de colonnes en double :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
'points': [26, 31, 22, 29]},
columns=['team', 'last', 'last', 'points'])
#define list of columns range
cols = [x for x in range(df.shape[1])]
#remove second column in DataFrame
cols.remove(1)
#view resulting DataFrame
df.iloc[:, cols]
team last points
0 Mavs Nowitzki 26
1 Lakers Bryant 31
2 Spurs Duncan 22
3 Cavs James 29
Ressources additionnelles
Comment combiner deux colonnes dans Pandas
Pandas : comment trier les colonnes par nom
Pandas : comment trouver la différence entre deux colonnes
Pandas : comment additionner des colonnes en fonction d’une condition