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

Ajouter un commentaire

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