Cómo cambiar el nombre de las columnas en Pandas DataFrame
-
Renombrar columnas en pandas
DataFrame
usando el métodoDataFrame.columns
-
Renombrar columnas en pandas
DataFrame
usando el métodoDataFrame.rename()
-
Renombrar columnas en pandas
DataFrame
usando 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