2584 votes

Renommer les noms de colonnes dans Pandas

J'ai un DataFrame utilisant Pandas et des étiquettes de colonne que je dois modifier pour remplacer les étiquettes de colonne d'origine.

Je voudrais changer le nom des colonnes dans un DataFrame. A où se trouvent les noms des colonnes originales :

['$a', '$b', '$c', '$d', '$e']

à

['a', 'b', 'c', 'd', 'e'].

Les noms des colonnes modifiées sont stockés dans une liste, mais je ne sais pas comment remplacer les noms des colonnes.

7 votes

Vous pouvez consulter les documents officiels qui traitent du renommage des étiquettes de colonne : pandas.pydata.org/pandas-docs/stable/guide_utilisateur/text.html

6voto

borodark Points 149

J'avais besoin de renommer des fonctions pour XGBoost, et il n'aimait aucune de ces fonctions :

import re
regex = r"[!\"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~ ]+"
X_trn.columns = X_trn.columns.str.replace(regex, '_', regex=True)
X_tst.columns = X_tst.columns.str.replace(regex, '_', regex=True)

2 votes

Pour info, vous pouvez simplement garder la trace des colonnes dans un fichier séparé. n et ne transmet à XGBoost que le tableau/matrice NumPy sous-jacent, qui n'a pas d'en-tête. De cette façon, vous pouvez nommer vos colonnes comme vous le souhaitez sans avoir à vous conformer aux désirs de XGBoost.

1 votes

Quoi a fait ça ressemble à quoi ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X