Skip to content

Renombrando columnas en Pandas: Una guía completa

El análisis de datos es una tarea crucial en el mundo actual impulsado por los datos. Requiere limpiar, organizar y transformar datos crudos en un formato comprensible y significativo. Una tarea fundamental en el análisis de datos es el renombrado de columnas, ya que hace que los datos sean más informativos y comprensibles.

En este tutorial, exploraremos cómo renombrar columnas en un DataFrame de Pandas usando diferentes métodos. Discutiremos las mejores prácticas, consejos y trucos para hacer que tu análisis de datos sea más claro y conciso. ¡Empecemos!

¿Quieres crear visualizaciones de datos a partir de un dataframe de Pandas en Python sin tener que escribir código?

PyGWalker es una biblioteca de Python para el análisis exploratorio de datos con visualización. PyGWalker (opens in a new tab) puede simplificar tu flujo de trabajo de análisis y visualización de datos en Jupyter Notebook, convirtiendo tu dataframe de pandas (y el dataframe de polares) en una interfaz de usuario al estilo de Tableau para la exploración visual.

PyGWalker para visualización de datos (opens in a new tab)

¿Qué es el renombrado de columnas en DataFrame?

Antes de sumergirnos en la parte de codificación, primero entendamos qué es el renombrado de columnas en DataFrame de Pandas y por qué es importante.

En un DataFrame de Pandas, las columnas se nombran como identificadores únicos que distinguen una columna de otra. A veces, estos identificadores únicos no son informativos o son inconsistentes con los datos, lo que podría llevar a confusión y mala interpretación. En tales casos, el renombrado de columnas ayuda a hacerlo más informativo y comprensible.

El renombrado de columnas es un proceso de cambiar el nombre de una o más columnas en un DataFrame de Pandas. Se realiza seleccionando las etiquetas de columna o su índice. Mejora la legibilidad de los datos y ayuda a comprender las relaciones entre diferentes columnas.

¿Cómo renombrar una columna en DataFrame de Pandas?

Pandas proporciona varias formas de renombrar columnas en DataFrame. Exploraremos los métodos más comúnmente utilizados y las mejores prácticas para renombrar columnas.

Renombrar una sola columna

Comencemos con el método más básico de renombrar una sola columna en DataFrame de Pandas. Usaremos el método rename para hacer eso.

# Crear un DataFrame de muestra
import pandas as pd
 
data = {'Nombre': ['Juan', 'Alex', 'Pedro'],
        'Edad': [25, 24, 28],
        'Género': ['Masculino', 'Masculino', 'Masculino']}
 
df = pd.DataFrame(data)
 
# Renombrar la columna 'Edad' a 'Años'
df = df.rename(columns={'Edad': 'Años'})
 
# Imprimir el DataFrame
print(df) 

Salida:

   Nombre  Años    Género
0    Juan    25  Masculino
1    Alex    24  Masculino
2   Pedro    28  Masculino

Aquí, hemos creado un DataFrame de muestra con columnasNombre, Edad y Género. Hemos utilizado el método rename para cambiar el nombre de la columna Edad a Años. El método rename toma un diccionario como entrada donde las claves son los nombres de las columnas antiguas y los valores son los nombres de las nuevas columnas.

Renombrar varias columnas

Renombrar una sola columna es fácil, pero ¿qué pasa si queremos renombrar varias columnas al mismo tiempo? En tales casos, podemos usar el mismo método rename con un diccionario de nombres de columna antiguos y nuevos.

# Crear un DataFrame de muestra
import pandas as pd
 
data = {'Nombre': ['Juan', 'Alex', 'Pedro'],
        'Edad': [25, 24, 28],
        'Departamento': ['IT', 'RRHH', 'Marketing']}
 
df = pd.DataFrame(data)
 
# Renombrar las columnas 'Edad' y 'Departamento'
df = df.rename(columns={'Edad': 'Años', 'Departamento': 'Depto'})
 
# Imprimir el DataFrame
print(df) 

Salida:

   Nombre  Años       Depto
0    Juan    25         IT
1    Alex    24       RRHH
2   Pedro    28  Marketing

Aquí, hemos renombrado dos columnas, Edad a Años y Departamento a Depto, utilizando el método rename con un diccionario de nombres de columna antiguos y nuevos.

Renombrar columnas utilizando el método set_axis

Otra forma de renombrar columnas en DataFrame de Pandas es usando el método set_axis. Es un método flexible y conveniente que permite cambiar el nombre de las columnas a la vez o una por una.

# Crear un DataFrame de muestra
import pandas as pd
 
data = {'Nombre': ['Juan', 'Alex', 'Pedro'],
        'Edad': [25, 24, 28],
        'Departamento': ['IT', 'RRHH', 'Marketing']}
 
df = pd.DataFrame(data)
 
# Renombrar las columnas 'Edad' y 'Departamento' a la vez
df = df.set_axis(['NombreNuevo', 'Años', 'DeptoNuevo'], axis=1)
 
# Imprimir el DataFrame
print(df)

Salida:

  NombreNuevo  Años DeptoNuevo
0        Juan    25         IT
1        Alex    24       RRHH
2       Pedro    28  Marketing

Aquí, hemos utilizado el método set_axis para cambiar el nombre de las columnas Nombre, Edad y Departamento a NombreNuevo, Años y DeptoNuevo, respectivamente, a la vez. El parámetro axis=1 se utiliza para indicar que queremos cambiar el nombre de las columnas.El siguiente MDX con frontmatter se puede utilizar para renombrar columnas seleccionando su índice o etiqueta.

# Crear un DataFrame de ejemplo
import pandas as pd
 
data = {'Name': ['John', 'Alex', 'Peter'],
        'Age': [25, 24, 28],
        'Gender': ['Male', 'Male', 'Male']}
 
df = pd.DataFrame(data)
 
# Renombrar las columnas 'Age' y 'Gender' por índice
df.columns = df.columns.set_axis(['a', 'Years', 'b'], axis=1, inplace=False)
 
# Imprimir el DataFrame
print(df) 

Resultado:

    Name  Years     b
0   John     25  Male
1   Alex     24  Male
2  Peter     28  Male

Aquí, se ha utilizado el método set_axis para renombrar las columnas con las posiciones de índice. El método toma tres parámetros - etiquetas, eje y inplace. Hemos establecido las etiquetas en los nuevos nombres de columna y el eje en 1, que representa las columnas. El parámetro inplace se establece en False para devolver un nuevo DataFrame.

Renombrar columnas usando comprensión de lista

También podemos renombrar columnas en Pandas DataFrame usando la comprensión de lista. Es un método simple y elegante que permite renombrar varias columnas a la vez.

# Crear un DataFrame de ejemplo
import pandas as pd
 
data = {'Name': ['John', 'Alex', 'Peter'],
        'Age': [25, 24, 28],
        'Department': ['IT', 'HR', 'Marketing']}
 
df = pd.DataFrame(data)
 
# Renombrar las columnas 'Age' y 'Department' usando comprensión de lista
df.columns = [col.replace('_', ' ').title() for col in df.columns]
 
# Imprimir el DataFrame
print(df) 

Resultado:

    Name  Age  Department
0   John   25          IT
1   Alex   24          HR
2  Peter   28   Marketing

Aquí, hemos utilizado la comprensión de lista para renombrar las columnas reemplazando los guiones bajos con espacios y convirtiendo la primera letra en mayúscula usando el método title().

Renombrar DataFrame por índice

También es posible renombrar una columna por índice en Pandas DataFrame. Podemos utilizar el método rename con un diccionario de las posiciones de columna antiguas y nuevas.

# Crear un DataFrame de ejemplo
import pandas as pd
 
data = {'Name': ['John', 'Alex', 'Peter'],
        'Age': [25, 24, 28],
        'Department': ['IT', 'HR', 'Marketing']}
 
df = pd.DataFrame(data)
 
# Renombrar la columna '2' a 'Dept' por índice
df = df.rename(columns={2: 'Dept'})
 
# Imprimir el DataFrame
print(df) 

Resultado:

    Name  Age       Dept
0   John   25         IT
1   Alex   24         HR
2  Peter   28  Marketing

Aquí, hemos utilizado el método rename para renombrar la columna con posición de índice 2 a Dept.

Renombrar columna con lista

También podemos renombrar columnas en Pandas DataFrame seleccionando una lista de nombres de columna. Veamos cómo se hace.

# Crear un DataFrame de ejemplo
import pandas as pd
 
data = {'Name': ['John', 'Alex', 'Peter'],
        'Age': [25, 24, 28],
        'Department': ['IT', 'HR', 'Marketing']}
 
df = pd.DataFrame(data)
 
# Renombrar las columnas 'Name' y 'Department' usando una lista de nombres de columna
df.columns = ['ID', 'Years', 'Dept']
 
# Imprimir el DataFrame
print(df) 

Resultado:

     ID  Years       Dept
0   John     25         IT
1   Alex     24         HR
2  Peter     28  Marketing

Aquí, hemos utilizado una lista de nombres de columna para renombrar las columnas Name y Department a ID y Dept, respectivamente.

Conclusión

En este tutorial, hemos aprendido cómo renombrar columnas en Pandas DataFrame usando diferentes métodos: método rename, método set_axis, comprensión de lista, renombrar por índice y renombrar con una lista. También hemos explorado las mejores prácticas, consejos y trucos para hacer que su análisis de datos sea más organizado e informativo.

La renombrar una columna es un paso crítico en el análisis de datos, ya que mejora la legibilidad de los datos y ayuda a entender las relaciones entre diferentes columnas. Utilizando los métodos mencionados anteriormente, puede renombrar fácilmente columnas en Pandas DataFrame y hacer que su análisis de datos sea más efectivo y eficiente.

Esperamos que este tutorial haya sido útil e informativo. ¡Feliz codificación!


Enlaces:

Preguntas frecuentes

  1. ¿Cómo se puede cambiar el nombre de una columna en un DataFrame?

    Para cambiar el nombre de una columna en un DataFrame, se puede utilizar el método rename() de Pandas. Este método permite especificar un diccionario o un mapeo que relacione los nombres de columna antiguos con los nuevos nombres de columna. Con este método, es posible cambiar el nombre de una columna individual o de múltiples columnas a la vez.

  2. ¿Cómo se puede cambiar el nombre de una columna por el índice de columna en Pandas?

    En Pandas, se puede cambiar el nombre de una columna por el índice de columna utilizando el parámetro columns del método rename(). Se debe pasar un diccionario donde las claves son los índices de columna actuales y los valores son los nuevos nombres de columna. Con este método, es posible cambiar los nombres de columna basándose en la posición de las columnas en el DataFrame.

  3. ¿Cómo se pueden cambiar múltiples nombres de columnas en un DataFrame?

    Para cambiar múltiples nombres de columnas en un DataFrame, se puede utilizar el método rename() con el parámetro columns. Se debe pasar un diccionario donde las claves son los nombres de columna actuales y los valores son los nuevos nombres de columna. Este método permite cambiar los nombres de varias columnas al mismo tiempo. Además, proporciona flexibilidad para cambiar selectivamente los nombres de columna según ciertos criterios.