Dado un DataFrame de Pandas, veamos cómo cambiar sus nombres de columna e índices de fila.
Acerca de Pandas DataFrame
Pandas DataFrame son cuadrículas rectangulares que se utilizan para almacenar datos. Es fácil visualizar y trabajar con datos cuando se almacenan en dataFrame.
- Se compone de filas y columnas.
- Cada fila es una medida de alguna instancia, mientras que la columna es un vector que contiene datos para algún atributo/variable específico.
- Cada columna del marco de datos tiene datos homogéneos en cualquier columna específica, pero las filas del marco de datos pueden contener datos homogéneos o heterogéneos en cualquier fila específica.
- A diferencia de la array bidimensional, los ejes del marco de datos de pandas están etiquetados.
El tipo de marco de datos de Pandas tiene dos atributos llamados ‘columnas’ e ‘índice’ que se pueden usar para cambiar los nombres de las columnas y los índices de las filas.
Cree un DataFrame usando el diccionario.
# first import the libraries import pandas as pd # Create a dataFrame using dictionary df=pd.DataFrame({"Name":['Tom','Nick','John','Peter'], "Age":[15,26,17,28]}) # Creates a dataFrame with # 2 columns and 4 rows df
- Método #1: cambiar el nombre de la columna y el índice de la fila usando un
df.columns
atributodf.index
.Para cambiar los nombres de las columnas, proporcionamos una lista de Python que contiene los nombres de las columnas
df.columns= ['First_col', 'Second_col', 'Third_col', .....]
.
Para cambiar los índices de las filas, también le proporcionamos una lista de pythondf.index=['row1', 'row2', 'row3', ......]
.# Let's rename already created dataFrame.
# Check the current column names
# using "columns" attribute.
# df.columns
# Change the column names
df.columns
=
[
'Col_1'
,
'Col_2'
]
# Change the row indexes
df.index
=
[
'Row_1'
,
'Row_2'
,
'Row_3'
,
'Row_4'
]
# printing the data frame
df
- Método #2: usar
rename()
la función con el diccionario para cambiar una sola columna# let's change the first column name
# from "A" to "a" using rename() function
df
=
df.rename(columns
=
{
"Col_1"
:
"Mod_col"
})
df
Cambie varios nombres de columna simultáneamente:
# We can change multiple column names by
# passing a dictionary of old names and
# new names, to the rename() function.
df
=
df.rename({
"Mod_col"
:
"Col_1"
,
"B"
:
"Col_2"
}, axis
=
'columns'
)
df
- Método #3: Uso de la función Lambda para cambiar el nombre de las columnas.
Una función lambda es una pequeña función anónima que puede tomar cualquier cantidad de argumentos, pero solo puede tener una expresión. Usando la función lambda podemos modificar todos los nombres de las columnas a la vez. Agreguemos ‘x’ al final del nombre de cada columna usando la función lambda
df
=
df.rename(columns
=
lambda
x: x
+
'x'
)
# this will modify all the column names
df
- Método #4: Usar
values
el atributo para cambiar el nombre de las columnas.Podemos usar el atributo de valores directamente en la columna cuyo nombre queremos cambiar.
df.columns.values[
1
]
=
'Student_Age'
# this will modify the name of the first column
df
Cambiemos el índice de la fila usando la función Lambda.
# To change the row indexes
df
=
pd.DataFrame({
"A"
:[
'Tom'
,
'Nick'
,
'John'
,
'Peter'
],
"B"
:[
25
,
16
,
27
,
18
]})
# this will increase the row index value by 10 for each row
df
=
df.rename(index
=
lambda
x: x
+
10
)
df
Ahora, si queremos cambiar los índices de las filas y los nombres de las columnas simultáneamente, entonces se puede lograr usando
rename()
la función y pasando tanto el atributo de columna como el de índice como parámetro.df
=
df.rename(index
=
lambda
x: x
+
5
,
columns
=
lambda
x: x
+
'x'
)
# increase all the row index label by value 5
# append a value 'x' at the end of each column name.
df
Publicación traducida automáticamente
Artículo escrito por Shubham__Ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA