Les DataFrames Pandas sont essentiels pour la manipulation de données en Python. Fréquemment, vous aurez besoin d’ajuster les noms de colonnes pour une meilleure clarté, cohérence ou compatibilité avec d’autres jeux de données. Pandas offre plusieurs méthodes efficaces pour y parvenir. Cet article explore trois approches populaires : l’utilisation de DataFrame.rename()
, de DataFrame.columns
et de DataFrame.set_axis()
.
Table des matières
- Renommer les colonnes avec
DataFrame.rename()
- Renommer les colonnes avec
DataFrame.columns
- Renommer les colonnes avec
DataFrame.set_axis()
Renommer les colonnes avec DataFrame.rename()
La méthode rename()
offre la plus grande flexibilité, vous permettant de renommer des colonnes individuelles ou des groupes de colonnes sélectivement. Elle utilise un dictionnaire où les clés représentent les anciens noms de colonnes et les valeurs représentent leurs nouveaux noms.
import pandas as pd
# DataFrame exemple
data = {'old_col1': [1, 2, 3], 'old_col2': [4, 5, 6], 'old_col3': [7, 8, 9]}
df = pd.DataFrame(data)
print("DataFrame original :n", df)
# Renommer les colonnes en utilisant DataFrame.rename()
df = df.rename(columns={'old_col1': 'new_col1', 'old_col3': 'new_col3'})
print("nDataFrame après renommage :n", df)
# Renommer sur place en utilisant inplace=True
df.rename(columns={'old_col2': 'new_col2'}, inplace=True)
print("nDataFrame après renommage sur place :n", df)
Cet extrait de code renomme sélectivement ‘old_col1’ en ‘new_col1’ et ‘old_col3’ en ‘new_col3’. L’argument inplace=True
modifie le DataFrame directement, éliminant le besoin de réaffectation.
Renommer les colonnes avec DataFrame.columns
Cette méthode offre une approche simple pour renommer toutes les colonnes simultanément. Elle affecte directement une nouvelle liste de noms de colonnes à l’attribut columns
. Cette méthode est concise mais manque de flexibilité pour le renommage sélectif.
import pandas as pd
# DataFrame exemple
data = {'old_col1': [1, 2, 3], 'old_col2': [4, 5, 6], 'old_col3': [7, 8, 9]}
df = pd.DataFrame(data)
print("DataFrame original :n", df)
# Renommer les colonnes en utilisant DataFrame.columns
new_columns = ['new_col1', 'new_col2', 'new_col3']
df.columns = new_columns
print("nDataFrame après renommage :n", df)
Le code crée une liste new_columns
avec les noms souhaités et l’affecte à df.columns
. Il est crucial que la longueur de new_columns
corresponde exactement au nombre de colonnes du DataFrame.
Renommer les colonnes avec DataFrame.set_axis()
La méthode set_axis()
fournit une alternative pour renommer toutes les colonnes à la fois. Elle est similaire à DataFrame.columns
mais spécifie explicitement l’axe (1 pour les colonnes, 0 pour les lignes).
import pandas as pd
# DataFrame exemple
data = {'old_col1': [1, 2, 3], 'old_col2': [4, 5, 6], 'old_col3': [7, 8, 9]}
df = pd.DataFrame(data)
print("DataFrame original :n", df)
# Renommer les colonnes en utilisant DataFrame.set_axis()
new_columns = ['new_col1', 'new_col2', 'new_col3']
df = df.set_axis(new_columns, axis=1)
print("nDataFrame après renommage :n", df)
Cet exemple utilise set_axis()
avec axis=1
pour renommer toutes les colonnes. Comme DataFrame.columns
, il remplace tous les noms de colonnes.
En résumé, chaque méthode offre une approche unique. DataFrame.rename()
est la meilleure pour le renommage sélectif, tandis que DataFrame.columns
et DataFrame.set_axis()
sont efficaces pour renommer toutes les colonnes. Choisissez la méthode qui correspond le mieux à vos besoins spécifiques.