Soluci贸n
Pandas
Vista general
En este problema, tenemos un DataFrame llamado students
que contine la informaci贸n de los alumnos. Sin
embargo, los nombres de columna no son muy descriptivos. La meta es renombrarlos de manera que describan
claramente los datos que almacenan.
Conceptos Clave:
DataFrame
: una estructura bidimensional, similar a una hoja de c谩lculo o una tabla SQL. Cada fila representa un registro individual y cada columna un atributo diferente. Su tama帽o se puede redimensionar y est谩 dise帽ado para manejar una mezcla de distintos tipos de datos.funci贸n
rename
: la funci贸nrename
en pandas es una herramienta muy 煤til cuando se requiere renombrar columnas o nombres de 铆ndices.
Uso de rename
:
DataFrame.rename(mapper=None, index=None,
columns=None, axis=None,
copy=True, inplace=False,
level=None, errors='raise')
El m茅todo rename
tiene muchos argumentos opcionales que puede aceptar. Para nuestro prop贸sito, nos interesa
el argumento columns
, el cual nos permite pasar un diccionario donde las keys
representan los nombres
actuales de cada columna y los values
son las nuevos nombres.
Por ejemplo, si tenemos:
{'id': 'student_id'}
Significa que estamos renombrando la columna "id"
a "student_id"
.
Definici贸n de argumentos:
mapper
,index
,columns
: Los diccionarios que la funci贸nrename
acepta. En nuestro ejemplo, usamoscoumns
.axis
: Puede ser"index"
o"columns"
. Determina si se est谩 renombrando el 铆ndice o las columnas. Por default, si se proporciona el argumentocolumns
, se estara renombrando columnas.copy
: Si se define comoTrue
, se crea un nuevo DataFrame. Si esFalse
, se modifica el DataFrame original.inplace
: Si se define comoTrue
, el renombrado modificar谩 el mismo DataFrame y no habr谩 valor de retorno. Si esFalse
, un nuevo DataFrame con las columnas renombradas ser谩 retornado sin modificar el DataFrame original.level
: Para DataFrames con multi 铆ndices,level
especifica el nivel desde el cual las columas deben ser renombradas.errors
: Si se define como'raise'
, un error se genera si se intenta renombrar un elemento que no existe. Si se define como'ignore'
, cualquier error para renombrar los elementos ser谩 ignorado.
Intuici贸n
Visualizaci贸n de la funci贸n rename
En la soluci贸n proporcionada:
- Primero importamos la libreria pandas y le asignamos el alias
pd
. - Definimos una funci贸n
renameColumns
que toma un DataFramestudents
y retorna un DataFrame modificado. - Dentro de la funci贸n, usamos el m茅todo
rename
del dataframe para renombrar las columnas. Pasamos un diccionario usando el argumentocolumns
para especificar los nuevos nombres de cada columna. - El DataFrame modificado es retornado.
Cuando se proporciona este DataFrame a la funci贸n:
id | first | last | age |
---|---|---|---|
1 | Mason | King | 6 |
2 | Ava | Wright | 7 |
3 | Taylor | Hall | 16 |
4 | Georgia | Thompson | 18 |
5 | Thomas | Moore | 10 |
Retornar谩:
student_id | first_name | last_name | age_in_years |
---|---|---|---|
1 | Mason | King | 6 |
2 | Ava | Wright | 7 |
3 | Taylor | Hall | 16 |
4 | Georgia | Thompson | 18 |
5 | Thomas | Moore | 10 |
Recuerda, esta funci贸n no cambia el DataFrame original, si no que retorna un nuevo DataFrame con las columnas
renombradas. Si se desea modificar el DataFrame original, se puede especificar el argumento inplace=True
.
Implementaci贸n
import pandas as pd
def renameColumns(students: pd.DataFrame) -> pd.DataFrame:
students = students.rename(
columns={
"id": "student_id",
"first": "first_name",
"last": "last_name",
"age": "age_in_years",
}
)
return students