Renombrar columnas#

Un problema común de las fuentes de datos abiertas está relacinado con la forma en la cuales están nombradas las columnas. Es usual recurrir a abreviaturas, pero también es común que las categorías estén marcadas en forma de códigos. En nuestro caso, la mayoría de columnas son lo suficientemente descriptivas para que no sea necesario renombrarlas. Sin embargo, podríamos darles un nombre aún más descriptivo, en particular a las columnas ["entidad_nac","entidad_res","municipio_res].

La sintaxis para renombrar una columna es:

df.rename(columns={'columna_original':'nuevo_nombre'}, inplace=True)

El parámetro inplace es opcional, pero si no se especifica debe asignarse el resultado a una nueva variable, de otra manera parecerá que el renombre no tuvo éxito.

Como muchas operaciones en pandas podemos valernos de un diccionario para modificar aplicar una serie de cambios a las columnas. Sirvámonos de nuestro ejemplo de datos:

# Renombrar columnas
covid_nacional.rename(columns={
    "entidad_nac": "entidad_nacimiento",
    "entidad_res": "entidad_residencia",
    "municipio_res": "municipio_residencia"
}, inplace=True)
covid_nacional[7:10]
Unnamed: 0 fecha_actualizacion id_registro origen sector entidad_um sexo entidad_nacimiento entidad_residencia municipio_residencia ... otro_caso toma_muestra_lab resultado_lab toma_muestra_antigeno resultado_antigeno clasificacion_final migrante pais_nacionalidad pais_origen uci
7 8 2022-06-26 0ba73d FUERA DE USMER ISSSTE CIUDAD DE MÉXICO MUJER QUERÉTARO MÉXICO NAUCALPAN DE JUÁREZ ... NO NO NO APLICA (CASO SIN MUESTRA) NO NO APLICA (CASO SIN MUESTRA) CASO SOSPECHOSO NO ESPECIFICADO MÉXICO NO APLICA NO APLICA
8 9 2022-06-26 0681f2 FUERA DE USMER SSA CIUDAD DE MÉXICO HOMBRE CIUDAD DE MÉXICO NaN NaN ... NO NO NO APLICA (CASO SIN MUESTRA) SI NEGATIVO A SARS-COV-2 NEGATIVO A SARS-COV-2 NO ESPECIFICADO MÉXICO NO APLICA NO APLICA
9 10 2022-06-26 0a98b4 FUERA DE USMER SSA CIUDAD DE MÉXICO MUJER MICHOACÁN DE OCAMPO NaN NaN ... NO NO NO APLICA (CASO SIN MUESTRA) SI POSITIVO A SARS-COV-2 CASO DE SARS-COV-2 CONFIRMADO NO ESPECIFICADO MÉXICO NO APLICA NO APLICA

3 rows × 41 columns

Verás que el resultado corresponde a las columnas de nuestro dataframe, ahora con un nuevo nombre.

Atención

Las columnas renombradas solamente se mantendrán con el nuevo nombre durante la ejecución del programa. Es decir, el archivo original no se modificará.

¿Por qué modificar las columnas desde el programa en lugar de hacerlo directamente en el csv?#

En primer lugar, porque podemos cometer un error al renombrar el archivo original, por ejemplo, borrar un coma y modificar la separación de las columnas. También, al guardar nuevamente el conjunto de datos podemos cambiar su codificación y perder algunos datos. Además, si la fuente de datos se actualiza aplicamos el código a un nuevo archivo ya no funcionará porque no encontrará correctamente los nombres de las columnas. Y finalmente, porque es mucho más fácil modificar el código que modificar el archivo original; un archivo muy grande puede ser lento para abrir y más para modificar, por eso es mucho más rápido hacerlo directamente desde nuestro programa.

Otra opción es hacer que el programa guarde una copia del archivo original con las columnas renombradas, pero esta práctica no es recomendable, puesto que puede generar duplicidad e inconsistencia en la información.