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

Toutefois, les noms des colonnes chargées peuvent ne pas être idéaux et vous pouvez les renommer de manière plus significative.
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 à suivre pour nommer vos colonnes dans pandas.
✅ Utilisez des noms descriptifs. Les noms cryptiques tels que col_1
sont difficiles à comprendre et ne donnent pas beaucoup d'informations sur les données contenues dans l'ensemble de données.
✅ Utilisez la casse serpent pour nommer les colonnes. Dans ce cas, les noms de vos colonnes ressembleront à ceci : number_of_people
Au lieu de cela NumberOfPeople
.
✅ Bien que le cas du serpent soit préférable, vous devriez utiliser la convention de nommage que votre jeu de données original utilise. 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. Ils sont plus faciles à taper car la suggestion de code et la complétion 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 des colonnes dans Pandas
Vous pouvez consommer le contenu de cet article de deux manières. Tout d'abord, vous pouvez vous contenter de lire cet article comme référence. Deuxièmement, vous pouvez le suivre, codification afin d'avoir une meilleure chance de mémoriser les concepts abordés. Je 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 à l'adresse suivante ici.
Configuration de l'ordinateur portable
Avant de commencer à renommer des colonnes dans pandas, configurons le bloc-notes 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 fichier california_housing_data
qui est disponible par défaut en tant qu'échantillon lorsque vous créez un carnet de 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 l'ensemble de données à l'aide de la commande suivante :
housing_data.columns
Cette opération devrait produire le résultat suivant :
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 Renommer
La façon la plus simple de renommer des colonnes dans pandas est d'utiliser la fonction rename
de l'objet DataFrame. En utilisant cette méthode, vous rename
une colonne en appelant la méthode rename. La méthode prend en compte plusieurs arguments.
Dans le cas présent, nous souhaitons renommer une colonne, c'est pourquoi nous transmettrons le 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
colonne à houses
.
housing_data.rename(columns={ 'households': 'houses' })
Cette opération devrait produire le résultat suivant :

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
à number_of_people
. En utilisant cette méthode, vous écririez le code suivant :
housing_data.columns = housing_data.columns.str.replace('population', 'number_of_people')
Pour imprimer la liste modifiée, nous utilisons le code suivant :
housing_data
Cela devrait produire 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 assignant une liste à la propriété columns du DataFrame. Dans cet exemple, si je voulais renommer toutes les colonnes pour 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 le paramètre housing_data.columns
à 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 commodément des listes de valeurs à l'aide d'une fonction for
boucle.
L'inconvénient de cette méthode est que vous devez renommer l'ensemble des noms de colonnes ; vous ne pouvez pas renommer un sous-ensemble de colonnes. Idéalement, les noms de vos colonnes devraient être plus descriptifs, mais je n'utilise ici que des chiffres à titre de démonstration.
Vous pouvez visualiser le résultat en écrivant ce qui suit :
housing_data

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 de Pandas. Étant donné que nous renommons les colonnes, nous définissons axis 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 le fichier column_names
variable. Dans la deuxième ligne, nous appelons la méthode set_axis, en fournissant la variable column_names
en tant qu'argument et en définissant l'axe à modifier comme étant l'axe 1. Nous définissons également inplace
à True
de sorte qu'il modifie le DataFrame d'origine.
Nous pouvons visualiser le DataFrame en écrivant :
housing_data
Le résultat devrait être le suivant :

Dernières paroles
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 abordé les 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, consultez comment créer un DataFrame Pandas [avec des exemples].