Pandas : Comment renommer des colonnes avec un dictionnaire



Vous pouvez utiliser la syntaxe de base suivante pour renommer les colonnes avec un dictionnaire dans pandas :

#define dictionary
some_dict = {'old_col1': 'new_col1',
             'old_col2': 'new_col2',
             'old_col3': 'new_col3'}
 
#rename columns in DataFrame using dictionary
df.rename(columns=some_dict, inplace=True)

Remarque : Il faut spécifier inplace=True pour modifier les noms de colonnes du DataFrame d’origine.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : Renommer les colonnes dans Pandas avec le dictionnaire

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'rebounds': [10, 14, 14, 13, 13, 12, 10, 7],
                    'points': [30, 22, 19, 14, 14, 11, 20, 28],
                    'assists': [5, 6, 6, 5, 8, 7, 7, 9]})

#view DataFrame
print(df)

   rebounds  points  assists
0        10      30        5
1        14      22        6
2        14      19        6
3        13      14        5
4        13      14        8
5        12      11        7
6        10      20        7
7         7      28        9

Nous pouvons utiliser la syntaxe suivante pour renommer chacune des colonnes du DataFrame à l’aide d’un dictionnaire :

#define dictionary with new column names
some_dict = {'rebounds': 'rebs',
             'points': 'pts',
             'assists': 'ast'}
 
#rename columns in DataFrame using dictionary
df.rename(columns=some_dict, inplace=True)

#view updated DataFrame
print(df)

   rebs  pts  ast
0    10   30    5
1    14   22    6
2    14   19    6
3    13   14    5
4    13   14    8
5    12   11    7
6    10   20    7
7     7   28    9

Notez que chacune des colonnes a été renommée en fonction des valeurs que nous avons spécifiées dans le dictionnaire.

Il convient de noter que vous n’êtes pas obligé de renommer chaque colonne à l’aide d’un dictionnaire.

Par exemple, nous pourrions créer un dictionnaire pour renommer uniquement les colonnes points et assists du DataFrame :

#define dictionary with new column names for points and assists only
some_dict = {'points': 'pts',
             'assists': 'ast'}
 
#rename columns in DataFrame using dictionary
df.rename(columns=some_dict, inplace=True)

#view updated DataFrame
print(df)

   rebounds  pts  ast
0        10   30    5
1        14   22    6
2        14   19    6
3        13   14    5
4        13   14    8
5        12   11    7
6        10   20    7
7         7   28    9

Seules les colonnes de points et de passes décisives ont été renommées.

La colonne des rebonds n’étant pas incluse dans le dictionnaire, elle n’a pas été renommée dans le DataFrame.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment répertorier tous les noms de colonnes dans Pandas
Comment trier les colonnes par nom dans Pandas
Comment supprimer les colonnes en double dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *