¿Cómo cambiar los nombres de las columnas y los índices de las filas en Pandas?
Una de las operaciones más comunes que se pueden realizar mientras se limpian los datos o se realizan análisis de datos exploratorios en la ciencia de datos es manipular / corregir los nombres de las columnas o de las filas.
En esta publicación, veremos
- ¿Cómo cambiar el nombre de las columnas del marco de datos de pandas?
- ¿Cómo cambiar los nombres de fila o los índices de fila de un marco de datos de pandas?
Primero carguemos pandas.
# import pandas>import pandas as pd
Usemos datos de gapminder del sitio web de carpintería de software.
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
vamos a comprobar los nombres de las columnas del marco de datos, las tres primeras filas de los datos, usando la función head.
>print(gapminder.head(3)) country year pop continent lifeExp gdpPercap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
También podemos usar la función de columnas para obtener los nombres de las columnas.
>gapminder.columnsIndex(, dtype="object")
¿Cómo cambiar el nombre de las columnas en Pandas?
Uno puede cambiar los nombres de columna de un pandas dataframe de al menos dos formas. Una forma de cambiar el nombre de las columnas en Pandas es usar df.columns de Pandas y asignar nuevos nombres directamente.
Por ejemplo, si tiene los nombres de las columnas en una lista, puede asignar la lista a los nombres de las columnas. directamente.
Para cambiar las columnas del marco de datos gapminder, podemos asignar la lista de nuevos nombres de columna a gapminder.columns como
>gapminder.columns =
Esto asignará los nombres en la lista como nombres de columna para el marco de datos «gapminder». Podemos verificar el marco de datos para ver si tiene nuevos nombres de columna usando la función head ().
>gapminder.head(3) country year population continent life_exp gdp_per_cap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
Un problema con este enfoque para cambiar los nombres de las columnas es que uno tiene que cambiar los nombres de todas las columnas en el marco de datos. Este enfoque no funcionaría, si queremos cambiar simplemente cambie el nombre de una columna.
Función de cambio de nombre de Pandas a Renombrar columnas
Otra forma de cambiar los nombres de columna en pandas es utilizar la función de cambio de nombre. Usar la función de cambio de nombre para cambiar los nombres de las columnas es una forma mucho mejor que antes. Uno puede chan ge nombres de columnas específicas fácilmente. Y no es necesario cambiar todos los nombres de las columnas.
Para cambiar los nombres de las columnas usando la función de cambio de nombre en Pandas, es necesario especificar un asignador, un diccionario con el nombre antiguo como claves y el nuevo nombre como valores. A continuación, se muestra un ejemplo para cambiar muchos nombres de columna mediante un diccionario. También usaremos inplace = True para cambiar los nombres de las columnas en su lugar.
Una de las mayores ventajas de usar la función de cambio de nombre es que podemos usar el cambio de nombre para cambiar tantos nombres de columna como queramos.
Cambiemos el nombre de una sola columna.
La función de cambio de nombre de Pandas también puede tomar una función como entrada en lugar de un diccionario. Por ejemplo, podemos escribir una función lambda para tomar los nombres de las columnas actuales y considerar solo los primeros tres caracteres para los nombres de las nuevas columnas.
¿Cómo cambiar los nombres / índices de fila en Pandas?
Otra cosa buena acerca de la función de cambio de nombre de pandas es que también podemos usarla para cambiar índices de fila o nombres de fila.
Solo necesitamos usar el argumento de índice y especificar, queremos cambiar el índice, no las columnas.
Por ejemplo, para cambiar los nombres de fila 0 y 1 a ‘cero’ y ‘uno’ en nuestro marco de datos gapminder, construiremos un diccionario con nombres de índice de fila antiguos como claves y fila nueva indexar como valores.
Podemos ver que solo las dos primeras filas tienen nombres nuevos como pretendíamos.
¿Cómo cambiar los nombres de las columnas y los índices de las filas simultáneamente en Pandas?
Con la función de cambio de nombre de pandas, también se pueden cambiar los nombres de las columnas y de las filas simultáneamente utilizando argumentos de índice y de columna para cambiar el nombre de la función con los correspondientes diccionarios del asignador.
Cambiemos el nombre de la columna «lifeExp» a «life_exp» y también los índices de fila «0 & 1” a «cero y uno».
¿Eres nuevo en Pandas? ¿Y empezar con Pandas recientemente? Consulte nuestros nuevos tutoriales de Pandas 101 de tamaño de bytes.