Este artículo es una guía sobre cómo renombrar columnas en Pandas.
Pandas es una biblioteca de Python para tratar con conjuntos de datos. Lee fácilmente datos de diferentes formatos de archivo como CSVJSON y SQL. Cuando los datos se cargan en Pandas, se almacenan en un objeto DataFrame.
Un DataFrame es un objeto bidimensional, lo que significa que los datos se almacenan en un formato similar a una tabla con filas y columnas. Esto es similar al almacenamiento de datos en archivos CSV u hojas de cálculo. Cuando cargue los datos, pandas intentará cargar los nombres de las columnas desde el archivo fuente del conjunto de datos.

Sin embargo, los nombres de columna cargados pueden no ser los ideales, y puede que desee renombrar las columnas a algo más significativo.
En este artículo, discutiremos primero las mejores prácticas para nombrar columnas en Pandas. Después, entraremos en el tema principal, que son los métodos para renombrarlas.
Mejores prácticas para nombrar columnas en Pandas
Antes de que lleguemos a la parte de la guía de renombrado de este artículo, aquí tiene algunas de las mejores prácticas y convenciones que puede seguir a la hora de nombrar sus columnas en pandas.
✅ Utilice nombres descriptivos. Los nombres crípticos como col_1
son difíciles de entender y no transmiten mucha información sobre los datos contenidos en el conjunto de datos.
✅ Utilice el caso serpiente al nombrar las columnas. En el caso serpiente, los nombres de sus columnas tendrán este aspecto: numero_de_personas
en lugar de este NúmeroDePersonas
.
✅ Aunque se prefiere el caso serpiente, debe utilizar la convención de nomenclatura que utilice su conjunto de datos original. Esto evita confusiones al moverse entre su conjunto de datos y el objeto DataFrame de Pandas.
✅ Sea cual sea la convención de nomenclatura que utilice, mantenga la coherencia en todo el conjunto de datos. Evite nombrar algunas columnas utilizando PascalCase y otras utilizando snake_case.
✅ Por último, intente utilizar nombres más cortos. Estos son más fáciles de escribir, ya que la sugerencia de código y la finalización en los cuadernos suelen ser deficientes. Esto significa que codificar en un cuaderno requiere teclear mucho código manualmente, y los nombres más cortos facilitan la vida.
Cómo renombrar columnas en Pandas
Puede consumir el contenido de este artículo de dos maneras. Primero, podría simplemente leerlo como referencia. En segundo lugar, podría seguirlo, codificando también, para tener más posibilidades de recordar los conceptos discutidos. Le recomiendo este último método.
Para codificar a lo largo, voy a utilizar un cuaderno alojado con Google Colab. Usted también puede crear uno y seguirme; es completamente gratuito. El cuaderno con todo el código que escribiré en este tutorial está disponible aquí.
Configuración del bloque de notas
Antes de empezar a renombrar columnas en pandas, vamos a configurar el cuaderno y cargar algunos datos de ejemplo. Cree una celda de código e importe pandas utilizando el código siguiente.
importar pandas como pd
Después de importar pandas, puede cargar el conjunto de datos california_housing_data
, que está disponible por defecto como conjunto de datos de muestra cuando se crea un cuaderno Google Colab.
datos_vivienda = pd.read_csv('/content/sample_data/california_housing_train.csv')
Puede ver las primeras filas del conjunto de datos utilizando el código:
housing_data.head()
También puede listar las columnas presentes en el conjunto de datos con lo siguiente
datos_vivienda.columnas
Esto debería producir la siguiente salida:
Index(['longitud', 'latitud', 'edad_media_vivienda', 'total_habitaciones',
'total_habitaciones', 'población', 'hogares', 'ingreso_medio',
'valor_medio_vivienda'],
dtype='object')
Esto significa que sus datos se han cargado correctamente y que el DataFrame tiene lo que necesitamos.
Método 1: Utilizar la función Renombrar
La forma más sencilla de renombrar columnas en pandas es utilizar el método rename
del objeto DataFrame. Utilizando este método, se renombra
una columna llamando al método rename. El método admite varios argumentos.
En este caso, estamos interesados en renombrar una columna, por lo que pasaremos al argumento de la palabra clave columnas. El valor de este argumento es un diccionario cuyas entradas representan el mapeo de los antiguos nombres de columna a los nuevos. He aquí un ejemplo en el que renombramos la columna hogares
a casas
.
datos_vivienda.rename(columns={ 'hogares': 'casas' })
Esto debería producir la siguiente salida:

Como puede ver, pasamos un diccionario en el que la clave es el nombre antiguo de la columna y el valor es el nombre nuevo de la columna. El valor no tiene por qué ser sólo una cadena. También puede ser una función donde el valor devuelto por la función es el nuevo nombre de columna. Si desea renombrar más columnas, puede añadir más entradas al diccionario.
Método 2: Sustituir la cadena de la columna
Otro método que puede utilizar para renombrar columnas en pandas es reemplazar la cadena de la columna en un DataFrame. Supongamos que quiere renombrar la columna actualmente llamada población
a número_de_personas
. Utilizando este método, escribiría el siguiente código:
datos_vivienda.columnas = datos_vivienda.columnas.str.replace('población', 'número_de_personas')
Para imprimir la lista modificada, utilizaremos el siguiente código:
datos_vivienda
Esto debería producir la siguiente salida en pantalla:

Método 3: Asignar una lista de nombres de columnas
Alternativamente, puede renombrar columnas en Pandas asignando una lista a la propiedad columnas del DataFrame. Para este ejemplo, si quisiera renombrar todas las columnas de forma que todas utilicen números, podría utilizar el siguiente código:
datos_vivienda.columnas = [x for x in range(9)]
En este ejemplo, he establecido el atributo housing_data .
columnas en una lista de números enteros del 0 al 8. Para generar la lista, he utilizado la comprensión de listas, que es una función nativa de Python para generar cómodamente listas de valores utilizando un bucle for
.
La desventaja de utilizar este método es que tiene que renombrar todo el conjunto de nombres de columnas; no puede limitarse a renombrar un subconjunto de columnas. Lo ideal sería que los nombres de sus columnas fueran algo más descriptivo, pero aquí sólo estoy utilizando números como demostración.
Puede ver el resultado escribiendo lo siguiente:
datos_vivienda

Método 4: Uso de la función set_axis() para renombrar columnas en Pandas
El método que vamos a discutir es el método set_axis del objeto DataFrame. Este método se utiliza para establecer una lista de valores como los valores del eje para cualquiera de los dos ejes en Pandas. Como estamos renombrando columnas, estamos estableciendo el eje 1
. Para utilizar este método, usamos el siguiente código:
nombres_columna = [str(x) for x in range(8, -1, -1)]
housing_data.set_axis(nombres_columna, eje=1, inplace=True)
La primera línea genera una lista de valores de 8 a 0 en orden descendente y los almacena en la variable nombres_columna
. En la segunda línea, llamamos al método set_axis, proporcionando la columna_names
como argumento y estableciendo el eje a modificar como eje 1. También establecemos inplace
en True
para que modifique el DataFrame original.
Podemos ver el DataFrame escribiendo
housing_data
Esto debería producir lo siguiente:

Palabras finales
Este artículo ha introducido brevemente cómo se almacenan los datos en formato tabular en pandas. También discutimos las mejores prácticas para nombrar columnas en Pandas para hacernos la vida más fácil.
Por último y más importante, también discutimos los diferentes métodos para renombrar columnas en pandas.
A continuación, vea cómo crear un Pandas DataFrame [con ejemplos].