Comment renommer des colonnes dans Pandas DataFrame

Puneet Dobhal 30 janvier 2023
  1. Renommez les colonnes dans pandas DataFrame en utilisant la méthode DataFrame.columns
  2. Renommez les colonnes dans pandas DataFrame en utilisant la méthode DataFrame.rename()
  3. Renommez les colonnes dans pandas DataFrame en utilisant la méthode DataFrame.set_axis()
Comment renommer des colonnes dans Pandas DataFrame

Souvent, nous devons manipuler les noms de colonnes dans l’analyse des données. Dans cet article, nous allons explorer différentes méthodes pour manipuler / renommer les noms de colonne pour un panadas déjà défini DataFrame.

Renommez les colonnes dans pandas DataFrame en utilisant la méthode DataFrame.columns

Cette méthode est assez simple et vous permet de renommer directement les colonnes. Nous pouvons attribuer une liste de nouveaux noms de colonnes en utilisant l’attribut DataFrame.columns comme suit:

import pandas as pd

example_df = pd.DataFrame(
    [["John", 20, 45], ["Peter", 21, 62], ["Scot", 25, 68]],
    index=[0, 1, 2],
    columns=["Name", "Age", "Marks"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))
example_df.columns = ["Name", "Age", "Roll_no"]

print "\nModified DataFrame"
print (pd.DataFrame(example_df))

Production:

Original DataFrame
    Name  Age  Marks
0   John   20     45
1  Peter   21     62
2   Scot   25     68

Modified DataFrame
    Name  Age  Roll_no
0   John   20       45
1  Peter   21       62
2   Scot   25       68

Un inconvénient de cette approche est que vous devez répertorier la colonne entière même si une seule des colonnes doit être renommée. La spécification de la liste de colonnes entière devient peu pratique lorsque vous avez un grand nombre de colonnes.

Renommez les colonnes dans pandas DataFrame en utilisant la méthode DataFrame.rename()

L’approche alternative à la méthode précédente utilise la méthode DataFrame.rename(). Cette méthode est assez pratique lorsque nous n’avons pas besoin de renommer toutes les colonnes.

Nous devrons spécifier l’ancien nom de la colonne comme clé et les nouveaux noms comme valeurs.

import pandas as pd

example_df = pd.DataFrame(
    [["John", 20, 45, 78], ["Peter", 21, 62, 68], ["Scot", 25, 68, 95]],
    index=[0, 1, 2],
    columns=["Name", "Age", "Marks", "Roll_no"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))
example_df.rename(columns={"Marks": "Roll_no", "Roll_no": "Marks"}, inplace=True)

print "\nModified DataFrame"
print (pd.DataFrame(example_df))

Production:

Original DataFrame
    Name  Age  Marks  Roll_no
0   John   20     45       78
1  Peter   21     62       68
2   Scot   25     68       95

Modified DataFrame
    Name  Age  Roll_no  Marks
0   John   20       45     78
1  Peter   21       62     68
2   Scot   25       68     95

L’avantage le plus significatif de cette méthode est que vous pouvez spécifier autant de colonnes que vous le souhaitez. Il est assez efficace lorsque vous devez renommer des colonnes spécifiques, et contrairement aux méthodes précédentes, pas besoin de répertorier la liste complète des colonnes pour le DataFrame.

Vous remarquerez peut-être que dans l’appel de fonction DataFrame.rename(), nous avons spécifié le paramètre inplace comme True. Le paramètre inplace est par défaut False et spécifie s’il faut renvoyer un nouveau pandas DataFrame ou non.

Le spécifier comme True signifie que l’appel de fonction ne retourne pas de nouveau DataFrame pandas mais modifie le DataFrame existant en place.

Renommez les colonnes dans pandas DataFrame en utilisant la méthode DataFrame.set_axis()

Une autre méthode pratique pour renommer les colonnes de pandas DataFrame. Nous devons spécifier la liste complète des colonnes lors de l’utilisation de cette méthode.

import pandas as pd

example_df = pd.DataFrame(
    [["John", 20, 45, 78], ["Peter", 21, 62, 68], ["Scot", 25, 68, 95]],
    index=[0, 1, 2],
    columns=["Name", "Age", "Marks", "Roll_no"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))

example_df.set_axis(["Name", "Age", "Roll_no", "Marks"], axis="columns", inplace=True)

print "\nModified DataFrame"
print (pd.DataFrame(example_df))

Production:

Original DataFrame
    Name  Age  Marks  Roll_no
0   John   20     45       78
1  Peter   21     62       68
2   Scot   25     68       95

Modified DataFrame
    Name  Age  Roll_no  Marks
0   John   20       45     78
1  Peter   21       62     68
2   Scot   25       68     95

Article connexe - Pandas DataFrame