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