Cet article est un guide sur la façon de renommer des colonnes dans Pandas.
Pandas est une bibliothèque Python permettant de traiter des ensembles de données. Elle lit facilement les données à partir de différents formats de fichiers tels que CSV, JSON et SQL. Lorsque les données sont chargées dans Pandas, elles sont stockées dans un objet DataFrame.
Un DataFrame est un objet bidimensionnel, ce qui signifie que les données sont stockées dans un format de type tableau avec des lignes et des colonnes. Ce format est similaire au stockage de données dans des fichiers CSV ou des feuilles de calcul. Lorsque vous chargez des données, pandas tente de charger les noms de colonnes à partir du fichier source du jeu de données.
Cependant, les noms de colonnes chargés peuvent ne pas être idéaux, et vous pouvez vouloir renommer les colonnes en quelque chose de plus significatif.
Dans cet article, nous allons d’abord discuter des meilleures pratiques pour nommer les colonnes dans Pandas. Ensuite, nous aborderons le sujet principal, à savoir les méthodes pour les renommer.
Meilleures pratiques pour nommer les colonnes dans Pandas
Avant d’aborder la partie de cet article consacrée au guide de renommage, voici quelques bonnes pratiques et conventions que vous pouvez suivre pour nommer vos colonnes dans Pandas.
✅ Utilisez des noms descriptifs. Les noms cryptiques comme col_1
sont difficiles à comprendre et ne transmettent pas beaucoup d’informations sur les données contenues dans l’ensemble de données.
✅ Utilisez snake case pour nommer les colonnes. Dans ce cas, les noms de vos colonnes ressembleront à ceci : number_of_people
au lieu de ceci NumberOfPeople
.
✅ Bien que la casse serpent soit préférable, vous devez utiliser la convention de dénomination utilisée par votre jeu de données d’origine. Cela évite toute confusion lorsque vous passez de votre jeu de données à l’objet DataFrame de Pandas.
quelle que soit la convention de dénomination que vous utilisez, restez cohérent dans l’ensemble du jeu de données. Évitez de nommer certaines colonnes en utilisant PascalCase et d’autres en utilisant snake_case.
✅ Enfin, essayez d’utiliser des noms plus courts. Ceux-ci sont plus faciles à taper, car la suggestion et la complétion de code dans les carnets sont généralement médiocres. Cela signifie que le codage dans un carnet nécessite beaucoup de saisie manuelle du code, et des noms plus courts facilitent la vie.
Comment renommer les colonnes dans Pandas
Vous pouvez consommer le contenu de cet article de deux façons. Tout d’abord, vous pouvez vous contenter de lire cet article à titre de référence. Deuxièmement, vous pouvez le suivre, en codant également, afin d’avoir une meilleure chance de vous souvenir des concepts abordés. Je vous recommande cette dernière méthode.
Pour coder, j’utiliserai un carnet de notes hébergé par Google Colab. Vous pouvez également en créer un et le suivre ; c’est totalement gratuit. Le carnet de notes contenant tout le code que j’écrirai dans ce tutoriel est disponible ici.
Configuration du carnet de notes
Avant de commencer à renommer des colonnes dans pandas, configurons le notebook et chargeons quelques données d’exemple. Créez une cellule de code et importez pandas en utilisant le code ci-dessous.
import pandas as pd
Après avoir importé pandas, vous pouvez charger le jeu de données california_housing_data
, qui est disponible par défaut comme jeu de données d’exemple lorsque vous créez un bloc-notes Google Colab.
housing_data = pd.read_csv('/content/sample_data/california_housing_train.csv')
Vous pouvez voir les premières lignes de l’ensemble de données à l’aide du code :
housing_data.head()
Vous pouvez également dresser la liste des colonnes présentes dans le jeu de données à l’aide du code suivant :
housing_data.columns
Cela devrait produire la sortie suivante :
Index(['longitude', 'latitude', 'housing_median_age', 'total_rooms',
'total_bedrooms', 'population', 'households', 'median_income',
'median_house_value'],
dtype='object')
Cela signifie que vos données ont été chargées correctement et que le DataFrame contient ce dont nous avons besoin.
Méthode 1 : Utilisation de la fonction Rename
La façon la plus simple de renommer des colonnes dans pandas est d’utiliser la méthode rename
de l’objet DataFrame. Avec cette méthode, vous renommez
une colonne en appelant la méthode rename. La méthode prend en compte plusieurs arguments.
Dans ce cas, nous sommes intéressés par le renommage d’une colonne, nous passerons donc l’argument du mot-clé columns. La valeur de cet argument est un dictionnaire dont les entrées représentent la correspondance entre les anciens et les nouveaux noms de colonnes. Voici un exemple dans lequel nous renommons la colonne households
en houses
.
housing_data.rename(columns={ 'households' : 'houses' })
Cette opération devrait produire la sortie suivante :
Comme vous pouvez le voir, nous transmettons un dictionnaire dont la clé est l’ancien nom de la colonne et la valeur est le nouveau nom de la colonne. La valeur ne doit pas nécessairement être une chaîne de caractères. Il peut également s’agir d’une fonction dont la valeur renvoyée par la fonction est le nouveau nom de la colonne. Si vous souhaitez renommer davantage de colonnes, vous pouvez ajouter d’autres entrées au dictionnaire.
Méthode 2 : Remplacement de la chaîne de la colonne
Une autre méthode que vous pouvez utiliser pour renommer des colonnes dans pandas consiste à remplacer la chaîne de la colonne dans un DataFrame. Supposons que vous souhaitiez renommer la colonne actuellement nommée population
en nombre_de_personnes
. En utilisant cette méthode, vous écririez le code suivant :
housing_data.columns = housing_data.columns.str.replace('population', 'nombre_de_personnes')
Pour imprimer la liste modifiée, nous utilisons le code suivant :
housing_data
Vous devriez obtenir la sortie suivante à l’écran :
Méthode 3 : Attribution d’une liste de noms de colonnes
Vous pouvez également renommer les colonnes dans Pandas en attribuant une liste à la propriété columns du DataFrame. Pour cet exemple, si je voulais renommer toutes les colonnes de manière à ce qu’elles utilisent toutes des nombres, je pourrais utiliser le code suivant :
housing_data.columns = [x for x in range(9)]
Dans cet exemple, j’ai défini l’attribut housing_data.columns
comme une liste d’entiers de 0 à 8. Pour générer la liste, j’ai utilisé la compréhension de liste, qui est une fonctionnalité native de Python permettant de générer facilement des listes de valeurs à l’aide d’une boucle for
.
L’inconvénient de cette méthode est que vous devez renommer l’ensemble des noms de colonnes ; vous ne pouvez pas simplement renommer un sous-ensemble de colonnes. Idéalement, les noms de vos colonnes devraient être plus descriptifs, mais je n’utilise ici que des nombres à titre de démonstration.
Vous pouvez visualiser le résultat en écrivant ce qui suit :
données_logement
Méthode 4 : Utilisation de la fonction set_axis() pour renommer les colonnes dans Pandas
La méthode dont nous allons parler est la méthode set_axis de l’objet DataFrame. Cette méthode est utilisée pour définir une liste de valeurs comme valeurs d’axe pour n’importe lequel des deux axes dans Pandas. Comme nous renommons les colonnes, nous définissons l’axe 1
. Pour utiliser cette méthode, nous utilisons le code suivant :
column_names = [str(x) for x in range(8, -1, -1)]
housing_data.set_axis(column_names, axis=1, inplace=True)
La première ligne génère une liste de valeurs de 8 à 0 dans l’ordre décroissant et les stocke dans la variable column_names
. Dans la deuxième ligne, nous appelons la méthode set_axis, en fournissant la variable column_names
comme argument et en définissant l’axe à modifier comme étant l’axe 1. Nous donnons également la valeur True
à inplace
afin de modifier le DataFrame d’origine.
Vous pouvez visualiser le DataFrame en écrivant :
housing_data
Vous devriez obtenir le résultat suivant :
Mot de la fin
Cet article a brièvement présenté la manière dont les données sont stockées au format tabulaire dans pandas. Nous avons également discuté des meilleures pratiques pour nommer les colonnes dans Pandas afin de nous faciliter la vie.
Enfin, et c’est le plus important, nous avons également discuté des différentes méthodes pour renommer les colonnes dans Pandas.
Ensuite, découvrez comment créer un DataFrame Pandas [avec des exemples].