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.

columns

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 :

Housing data after renaming pandas dataframe column

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 :

Screenshot-from-2023-04-04-07-35-06

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
Screenshot-from-2023-04-04-05-58-41

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 :

Screenshot-from-2023-04-04-06-47-20

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].