Make your choice

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.

  1. 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.

  1. 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.

  1. 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:

create a dataframe from a list fig2

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:

create a dataframe from a list fig2

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

slackmart blog © 2024