Quiero que todos los encabezados de columna en mi marco de datos de pandas sean minúsculas
Ejemplo
Si tengo:
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
....
Me gustaría cambiar XRAT a xrat haciendo algo como:
data.headers.lowercase()
Para que consiga:
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
....
No sabré los nombres de cada encabezado de columna antes de tiempo.
df.columns = df.columns.str.lower()
Respuestas:
Puedes hacerlo así:
o
ejemplo:
fuente
[x.lower() for x in data.columns]
es equivalente a:[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]
Usted podría hacerlo fácilmente con
str.lower
porcolumns
:Ejemplo:
fuente
Si desea hacer el cambio de nombre usando una llamada de método encadenado, puede usar
(Python 2)
o
(Python 3)
fuente
He aquí una forma sencilla:
data.columns = data.columns.str.lower()
fuente
es el más fácil, pero dará un error si algunos encabezados son numéricos
si tiene encabezados numéricos, use esto:
fuente