Solución
Pandas
Vista general
Un DataFrame
es una poderosa y conveniente estructura de datos creada por la libreria pandas. Se trata de
una estructura en forma de tabla 2D, similar a una hoja de cálculo o una tabla SQL. Cada fila representa un
registro individual y cada columna representa un atributo diferente.
Para este problema, nuestro objetivo es convertir una lista 2D en un DataFrame
. Esta es una aplicación común
de la librerÃa pandas para cuando tenemos datos brutos en una lista y queremos convertirlos a un formato más
estructurado y etiquetado para facilitar su análisis.
Conceptos clave:
- Lista 2D: Una lista de listas donde cada lista interna representa un registro de información.
DataFrame
: Una estructura de datos bidimensional etiquetada en pandas.
Intuición
Veamos el paso a paso para crear un DataFrame
con las herramientas proporcionadas por la librerÃa pandas.
- Importar pandas:
import pandas as pd
Esta lÃnea importa la libreria pandas y le asigna un alias pd
. Pandas proporciona estructuras de datos
rápidas, flexibles y expresivas diseñadas para trabajar con información (tabular, multidimensional,
potencialmente heterogénea) estructurada.
- Definición de función:
def createDataframe(student_data: List[List[int]]) -> pd.DataFrame:
Esta lÃnea define una función llamada createDataframe
que toma una lista 2D student_data
como un argumento
y retorna un DataFrame
.
- Utilizar
pd.DataFrame()
:
pd.DataFrame(student_data)
nos permitirá transformar nuestra lista 2D en un DataFrame
.
Veamos la representación visual de pd.DataFrame()
en el siguiente diagrama:
Se puede ver que el DataFrame
resultante tiene cabeceras etiquetadas como 0 y 1. Esto se debe a que todos
los DataFrames se etiquetan y por default crearán cabeceras usando valores enteros empezando con 0.
Podemos asignar nombres de columnas personalizadas usando el parámetro columns
. Primero, creamos la lista de
nuestros nombres de columnas en el orden deseado. Enseguida, proporcionamos la lista como un parámetro al
momento de instanciar la clase pd.DataFrame
.
column_names = ["student_id", "age"]
pd.DataFrame(student_data,
columns=column_names)
El diagrama subsecuente demuestra el impacto del parámetro columns
:
Implementación
import pandas as pd
def createDataframe(student_data: List[List[int]]) -> pd.DataFrame:
column_names = ["student_id", "age"]
result_dataframe = pd.DataFrame(
student_data,
columns=column_names
)
return result_dataframe