Cómo cambiar el nombre de las columnas en Pandas DataFrame
-
Renombrar columnas en pandas
DataFrameusando el métodoDataFrame.columns -
Renombrar columnas en pandas
DataFrameusando el métodoDataFrame.rename() -
Renombrar columnas en pandas
DataFrameusando el métodoDataFrame.set_axis()
A menudo somos necesarios para manipular nombres de columnas en el análisis de datos. En este artículo, exploraremos diferentes métodos para manipular / renombrar nombres de columnas para un DataFrame de panadas ya definido.
Renombrar columnas en pandas DataFrame usando el método DataFrame.columns
Este método es bastante sencillo y le permite cambiar el nombre de las columnas directamente. Podemos asignar una lista de nuevos nombres de columna usando el atributo DataFrame.columns de la siguiente manera:
import pandas as pd
example_df = pd.DataFrame(
[["John", 20, 45], ["Peter", 21, 62], ["Scot", 25, 68]],
index=[0, 1, 2],
columns=["Name", "Age", "Marks"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))
example_df.columns = ["Name", "Age", "Roll_no"]
print "\nModified DataFrame"
print (pd.DataFrame(example_df))
Producción :
Original DataFrame
Name Age Marks
0 John 20 45
1 Peter 21 62
2 Scot 25 68
Modified DataFrame
Name Age Roll_no
0 John 20 45
1 Peter 21 62
2 Scot 25 68
Un inconveniente de este enfoque es que debe enumerar toda la columna, incluso si solo una de las columnas necesita ser renombrada. Especificar la lista de columnas completa se vuelve poco práctico cuando tiene una gran cantidad de columnas.
Renombrar columnas en pandas DataFrame usando el método DataFrame.rename()
El enfoque alternativo al método anterior está utilizando el método DataFrame.rename(). Este método es bastante útil cuando no necesitamos cambiar el nombre de todas las columnas.
Tendremos que especificar el nombre de la columna anterior como clave y los nuevos nombres como valores.
import pandas as pd
example_df = pd.DataFrame(
[["John", 20, 45, 78], ["Peter", 21, 62, 68], ["Scot", 25, 68, 95]],
index=[0, 1, 2],
columns=["Name", "Age", "Marks", "Roll_no"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))
example_df.rename(columns={"Marks": "Roll_no", "Roll_no": "Marks"}, inplace=True)
print "\nModified DataFrame"
print (pd.DataFrame(example_df))
Producción :
Original DataFrame
Name Age Marks Roll_no
0 John 20 45 78
1 Peter 21 62 68
2 Scot 25 68 95
Modified DataFrame
Name Age Roll_no Marks
0 John 20 45 78
1 Peter 21 62 68
2 Scot 25 68 95
La ventaja más importante de este método es que puede especificar tantas columnas como desee. Es bastante efectivo cuando necesita cambiar el nombre de columnas específicas y, a diferencia de los métodos anteriores, no es necesario enumerar la lista de columnas completa para el DataFrame.
Puede notar que en la llamada a la función DataFrame.rename() hemos especificado el parámetro inplace como True. El parámetro inplace es por defecto False y especifica si se debe devolver un nuevo pandas DataFrame o no.
Si se especifica como True significa que la llamada a la función no devuelve un nuevo Pandas DataFrame, sino que cambia el DataFrame existente en su lugar.
Renombrar columnas en pandas DataFrame usando el método DataFrame.set_axis()
Otro método conveniente para renombrar columnas de pandas DataFrame. Tenemos que especificar la lista completa de columnas al usar este método.
import pandas as pd
example_df = pd.DataFrame(
[["John", 20, 45, 78], ["Peter", 21, 62, 68], ["Scot", 25, 68, 95]],
index=[0, 1, 2],
columns=["Name", "Age", "Marks", "Roll_no"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))
example_df.set_axis(["Name", "Age", "Roll_no", "Marks"], axis="columns", inplace=True)
print "\nModified DataFrame"
print (pd.DataFrame(example_df))
Producción :
Original DataFrame
Name Age Marks Roll_no
0 John 20 45 78
1 Peter 21 62 68
2 Scot 25 68 95
Modified DataFrame
Name Age Roll_no Marks
0 John 20 45 78
1 Peter 21 62 68
2 Scot 25 68 95
Artículo relacionado - Pandas DataFrame
- Cómo obtener las cabeceras de columna de Pandas DataFrame como una lista
- Cómo borrar la columna de Pandas DataFrame
- Cómo convertir la columna del DataFrame a Datetime en Pandas
- Cómo convertir un float en un entero en Pandas DataFrame
- Cómo clasificar Pandas DataFrame por los valores de una columna
- Cómo obtener el agregado de Pandas grupo por y suma