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.
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
-
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ètreaxis
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. -
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éthodedrop()
plusieurs fois en spécifiant chaque fois des noms de colonnes différents. Cela supprimera toutes les colonnes spécifiées du DataFrame. -
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éthodedrop()
pour supprimer ces colonnes du DataFrame. Cela vous permet de supprimer sélectivement des colonnes en fonction de critères spécifiques.