Je veux que tous les en-têtes de colonne de mon cadre de données pandas soient minuscules
Exemple
Si j'ai:
data =
country country isocode year XRAT tcgdp
0 Canada CAN 2001 1.54876 924909.44207
1 Canada CAN 2002 1.56932 957299.91586
2 Canada CAN 2003 1.40105 1016902.00180
....
Je voudrais changer XRAT en xrat en faisant quelque chose comme:
data.headers.lowercase()
Pour que j'obtienne:
country country isocode year xrat tcgdp
0 Canada CAN 2001 1.54876 924909.44207
1 Canada CAN 2002 1.56932 957299.91586
2 Canada CAN 2003 1.40105 1016902.00180
3 Canada CAN 2004 1.30102 1096000.35500
....
Je ne connais pas les noms de chaque en-tête de colonne à l'avance.
df.columns = df.columns.str.lower()
Réponses:
Vous pouvez le faire comme ceci:
ou
exemple:
la source
[x.lower() for x in data.columns]
équivaut à:[x.lower() for x in data]
[x.lower().strip() for x in df0]
MultiIndex
df.index.names = [x.lower().strip() for x in df.index.names]
Vous pouvez le faire facilement avec
str.lower
pourcolumns
:Exemple:
la source
Si vous souhaitez effectuer le changement de nom à l'aide d'un appel de méthode en chaîne, vous pouvez utiliser
(Python 2)
ou
(Python 3)
la source
Voici un moyen simple:
data.columns = data.columns.str.lower()
la source
est le plus simple mais donnera une erreur si certains en-têtes sont numériques
si vous avez des en-têtes numériques, utilisez ceci:
la source