Skip to content

Comment supprimer une colonne dans un DataFrame Pandas

Updated on

En tant que data scientist, l'une des opérations les plus courantes que vous effectuez est la manipulation des données dans un DataFrame. L'une des tâches fréquentes qui se présente dans votre flux de traitement des données est la suppression des colonnes qui ne sont pas nécessaires pour l'analyse. Dans ce tutoriel, nous verrons comment supprimer une colonne dans un DataFrame Pandas. Nous aborderons différentes méthodes pour supprimer des colonnes en fonction du nom de la colonne, de l'index et de plusieurs colonnes.

Vous souhaitez créer rapidement une visualisation des données à partir d'un DataFrame Pandas en Python, sans écrire de code ?

PyGWalker est une bibliothèque Python pour l'analyse exploratoire des données avec une visualisation. PyGWalker (opens in a new tab) peut simplifier votre flux de travail d'analyse et de visualisation des données dans Jupyter Notebook, en transformant votre DataFrame pandas (et votre DataFrame polars) en une interface utilisateur de style Tableau pour une exploration visuelle.

PyGWalker pour la visualisation des données (opens in a new tab)

Aperçu du DataFrame Pandas

Avant d'entrer dans les détails de la suppression de colonnes, jetons un coup d'œil à l'aperçu du DataFrame Pandas.

Un DataFrame est une structure de données bidimensionnelle ressemblant à un tableau avec des lignes et des colonnes. Chaque colonne dans un DataFrame est une Serie. Une Serie est une structure de données unidimensionnelle qui contient un tableau de valeurs avec un label appelé index. De plus, un DataFrame peut avoir des indices de ligne et de colonne pour un accès rapide et efficace aux données. -13 Le DataFrame Pandas est un outil puissant pour manipuler et traiter des données en Python. Il vous permet d'effectuer des analyses de données complexes, du nettoyage de données, des transformations de données et des tâches de visualisation des données.

Suppression d'une colonne dans un DataFrame Pandas

Maintenant, commençons le processus de suppression d'une colonne dans un DataFrame Pandas. Il existe plusieurs façons de supprimer une colonne dans un DataFrame, en fonction de la nécessité. Nous examinerons certaines des méthodes populaires ci-dessous.

Supprimer une colonne à l'aide de la méthode drop

La méthode la plus simple pour supprimer une colonne d'un DataFrame consiste à utiliser la méthode drop. Vous pouvez utiliser la méthode drop avec le paramètre axis=1 pour indiquer que vous souhaitez supprimer une colonne.

# créer un DataFrame d'exemple
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)
# supprimer la colonne 'city'
df = df.drop('city', axis=1)
print(df.head())

Sortie :

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

Dans l'exemple ci-dessus, nous avons créé un DataFrame d'exemple avec trois colonnes nommées name, age et city. Nous avons utilisé la méthode drop avec le paramètre axis=1 pour supprimer la colonne city. Ensuite, nous avons imprimé le DataFrame mis à jour qui ne comporte que deux colonnes, name et age.

Supprimer une colonne à l'aide de la méthode de sous-ensemble

Une autre façon de supprimer une colonne d'un DataFrame est d'utiliser la méthode de sous-ensemble [] avec l'instruction del. L'instruction del supprime la colonne directement de l'objet DataFrame.

# créer un DataFrame d'exemple
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)
# supprimer la colonne 'city'
del df['city']
print(df.head())

Sortie :

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

Dans l'exemple ci-dessus, nous avons créé un DataFrame d'exemple avec trois colonnes nommées name, age et city. Nous avons utilisé la méthode de sous-ensemble [] avec l'instruction del pour supprimer la colonne city. Ensuite, nous avons imprimé le DataFrame mis à jour qui ne comporte que deux colonnes, name et age.

Supprimer plusieurs colonnes

Parfois, il est nécessaire de supprimer plusieurs colonnes d'un DataFrame. Vous pouvez utiliser la méthode drop avec une liste de noms de colonnes pour supprimer plusieurs colonnes.

# créer un DataFrame d'exemple
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['New York', 'Paris', 'London', 'Tokyo'], 'occupation': ['Engineer', 'Doctor', 'Artist', 'Lawyer']}
df = pd.DataFrame(data)
# supprimer les colonnes 'city' et 'occupation'
df = df.drop(['city', 'occupation'], axis=1)
print(df.head())

Sortie :

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

Dans l'exemple ci-dessus, nous avons créé un DataFrame d'exemple avec quatre colonnes nommées name, age, city et occupation. Nous avons utilisé la méthode drop avec une liste de noms de colonnes pour supprimer les colonnes city et occupation. Ensuite, nous avons imprimé le DataFrame mis à jour qui ne comporte que deux colonnes, name et age.

Supprimer des colonnes à l'aide d'un index de colonne

Vous pouvez également supprimer une colonne d'un DataFrame en utilisant l'index de la colonne. Pour ce faire, vous pouvez utiliser la méthode drop avec le paramètre columns et spécifier l'index de la colonne à supprimer.

# créer un DataFrame d'exemple
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)
# supprimer la colonne à l'index 2, c'est-à-dire 'city'
df = df.drop(df.columns[2], axis=1)
print(df.head())

Sortie :

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

Dans l'exemple ci-dessus, nous avons créé un DataFrame d'exemple avec trois colonnes nommées name, age et city. Nous avons utilisé la méthode drop avec le paramètre columns et spécifié l'index de la colonne à supprimer, c'est-à-dire 2. Ensuite, nous avons imprimé le DataFrame mis à jour qui ne comporte que deux colonnes, name et age.

Supprimer des colonnes en fonction d'une condition

Vous pouvez également supprimer des colonnes en fonction de certaines conditions en utilisant la méthode drop. Par exemple, vous pouvez supprimer toutes les colonnes ayant toutes les valeurs NaN.

# créer un DataFrame d'exemple avec une colonne ayant toutes les valeurs NaN
import pandas as pd
import numpy as np
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': [np.nan, np.nan, np.nan, np.nan], 'occupation': ['Engineer', 'Doctor', 'Artist', 'Lawyer']}
df = pd.DataFrame(data)
# supprimer les colonnes ayant toutes les valeurs NaN
df = df.dropna(how='all', axis=1)
print(df.head())

Output:

     name  age  occupation
0    Alex   20    Engineer
1     Bob   25      Doctor
2  Clarke   19      Artist
3   David   18      Lawyer

Dans l'exemple ci-dessus, nous avons créé un DataFrame d'exemple avec quatre colonnes nommées name, age, city et occupation. Nous avons défini les valeurs dans la colonne city sur NaN. Nous avons utilisé la méthode dropna avec le paramètre how='all' et axis=1 pour supprimer les colonnes ayant toutes les valeurs NaN. Nous avons ensuite imprimé le DataFrame mis à jour qui ne contient que trois colonnes, name, age et occupation.

Conclusion

Supprimer une colonne d'un DataFrame Pandas est une opération essentielle que vous devez maîtriser en tant que data scientist. Dans ce tutoriel, nous avons couvert différentes méthodes pour supprimer des colonnes en fonction du nom de la colonne, de l'index et de plusieurs colonnes. Nous espérons que ce tutoriel vous a aidé à optimiser votre flux de travail et à améliorer vos opérations de données avec Pandas DataFrame.

Questions fréquemment posées

  1. Comment supprimer une colonne dans un DataFrame Python?

    Pour supprimer une colonne dans un DataFrame Python, vous pouvez utiliser la méthode drop() et spécifier le nom de la colonne ainsi que le paramètre axis défini sur 1. Cela supprimera la colonne spécifiée du DataFrame. Alternativement, vous pouvez utiliser le mot clé del suivi du nom de la colonne pour supprimer la colonne sur place.

  2. Peut-on supprimer plusieurs colonnes simultanément dans un DataFrame Python?

    Oui, il est possible de supprimer plusieurs colonnes simultanément dans un DataFrame Python. Vous pouvez passer une liste de noms de colonnes à la méthode drop() ou utiliser la méthode drop() plusieurs fois en spécifiant chaque fois des noms de colonnes différents. Cela supprimera toutes les colonnes spécifiées du DataFrame.

  3. Est-il possible de supprimer des colonnes en fonction de certaines conditions dans un DataFrame Python?

    Oui, il est possible de supprimer des colonnes en fonction de certaines conditions dans un DataFrame Python. Vous pouvez utiliser l'indexation booléenne ou l'indexeur loc pour sélectionner les colonnes qui satisfont la condition souhaitée, puis utiliser la méthode drop() pour supprimer ces colonnes du DataFrame. Cela vous permet de supprimer sélectivement des colonnes en fonction de critères spécifiques.