Comment changer les noms de colonne et les index de ligne dans Pandas?
L’une des opérations les plus courantes que l’on puisse effectuer lors du nettoyage des données ou de l’analyse exploratoire des données en faisant de la science des données consiste à manipuler / corriger les noms de colonnes ou de lignes.
Dans cet article, nous verrons
- Comment renommer les colonnes d’un dataframe pandas?
- Comment changer les noms de lignes ou les index de lignes d’un dataframe pandas?
Commençons par charger les pandas.
# import pandas>import pandas as pd
Utilisons les données gapminder du site Web de menuiserie logicielle.
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
vérifions les noms des colonnes du dataframe, les trois premières lignes des données, en utilisant la fonction head.
>print(gapminder.head(3)) country year pop continent lifeExp gdpPercap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
Nous pouvons également utiliser la fonction de colonnes pour obtenir les noms de colonnes.
>gapminder.columnsIndex(, dtype="object")
Comment renommer des colonnes dans Pandas?
One peut changer les noms de colonne d’un pandas dataframe d’au moins deux manières. Une façon de renommer des colonnes dans Pandas est d’utiliser df.columns de Pandas et d’attribuer directement de nouveaux noms.
Par exemple, si vous avez les noms de colonnes dans une liste, vous pouvez affecter la liste à des noms de colonnes directement.
Pour changer les colonnes du dataframe gapminder, nous pouvons attribuer la liste des nouveaux noms de colonnes à gapminder.columns comme
>gapminder.columns =
Cela attribuera les noms de la liste en tant que noms de colonne pour le bloc de données « gapminder ». Nous pouvons vérifier le cadre de données pour voir que s’il a de nouveaux noms de colonne en utilisant la fonction head ().
>gapminder.head(3) country year population continent life_exp gdp_per_cap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
Un problème avec cette approche pour changer les noms de colonnes est qu’il faut changer les noms de toutes les colonnes dans le bloc de données. Cette approche ne fonctionnerait pas, si nous voulons changer, changez simplement le nom d’une Colonne.
Fonction de renommage de Pandas pour Renommer les colonnes
Une autre façon de changer les noms de colonne dans les pandas est d’utiliser la fonction de changement de nom. Utiliser renommer pour changer les noms de colonne est une bien meilleure façon qu’avant. On peut chan gérez facilement les noms de colonnes spécifiques. Et tous les noms de colonnes n’ont pas besoin d’être modifiés.
Pour changer les noms de colonnes en utilisant la fonction de renommage dans Pandas, il faut spécifier un mappeur, un dictionnaire avec l’ancien nom comme clés et le nouveau nom comme valeurs. Voici un exemple pour modifier de nombreux noms de colonnes à l’aide d’un dictionnaire. Nous utiliserons également inplace = True pour changer les noms de colonnes sur place.
L’un des plus grands avantages de l’utilisation de la fonction de renommage est que nous pouvons utiliser renommer pour changer autant de noms de colonnes que nous le voulons.
Changeons le nom d’une seule colonne.
La fonction de renommage des pandas peut également prendre une fonction comme entrée au lieu d’un dictionnaire. Par exemple, nous pouvons écrire une fonction lambda pour prendre les noms de colonne actuels et ne considérer que les trois premiers caractères pour les nouveaux noms de colonne.
Comment changer et les noms / index de ligne dans Pandas?
Une autre bonne chose à propos de la fonction de renommage des pandas est que, nous pouvons également l’utiliser pour changer les index de lignes ou les noms de lignes.
Nous avons juste besoin d’utiliser l’argument d’index et de spécifier, nous voulons changez l’index pas les colonnes.
Par exemple, pour changer les noms de ligne 0 et 1 en ‘zéro’ et ‘un’ dans notre dataframe gapminder, nous allons construire un dictionnaire avec les anciens noms d’index de ligne comme clés et une nouvelle ligne index comme valeurs.
Nous pouvons voir que seules les deux premières lignes ont de nouveaux noms comme nous l’avions prévu.
Comment modifier simultanément les noms de colonnes et les index de lignes dans Pandas?
Avec la fonction de renommage de pandas, on peut également changer les noms de colonne et les noms de ligne simultanément en utilisant à la fois les arguments de colonne et d’index pour renommer la fonction avec les dictionnaires de mappage correspondants.
Changeons le nom de colonne « lifeExp » à « life_exp » et aussi aux index de ligne « 0 & 1 » à « zéro et un ».
Êtes-vous nouveau sur Pandas? Et vous avez commencé récemment avec Pandas? Consultez nos nouveaux didacticiels sur les pandas de taille en octets 101.