CURSO

Python para Ciencia de Datos

Ph.D. Antonio Escamilla P.
6 sections to go

Capítulo 4: Polars - La Alternativa Moderna y Rápida para el Análisis de Datos

¿Qué es Polars?

Polars es una biblioteca de análisis de datos de alto rendimiento implementada en Rust, con enlaces para Python. Diseñada desde cero para aprovechar al máximo el paralelismo y las operaciones vectorizadas, Polars ofrece una alternativa moderna y extremadamente rápida a Pandas para el procesamiento de datos.

Logo de Polars
Polars: Computación de datos de alto rendimiento en Python

Ventajas de Polars sobre alternativas tradicionales

Polars ofrece varias ventajas significativas que lo están convirtiendo en una opción cada vez más popular para proyectos de ciencia de datos:

Si estás trabajando con conjuntos de datos grandes (cientos de MB o más), Polars puede ofrecer una mejora de rendimiento significativa sobre Pandas, sin tener que recurrir a herramientas distribuidas más complejas como Spark.

Instalación y Primeros Pasos

Para comenzar a trabajar con Polars, primero debemos instalarlo usando pip:

# Instalación básica
    pip install polars
    
    # Para funcionalidades adicionales como gráficos y conexiones de bases de datos
    pip install polars[all]

Ahora podemos importar la biblioteca y verificar su versión:

# Importar Polars con el alias convencional
    import polars as pl
    
    # Verificar la versión
    print(pl.__version__)
0.19.11

Al igual que con Pandas, es convencional importar Polars con un alias, en este caso pl.

DataFrames y Series en Polars

Polars tiene dos estructuras de datos principales, similares a las de Pandas:

# Crear una Series
serie = pl.Series("numeros", [1, 2, 3, 4, 5])
print(serie)

# Crear un DataFrame desde un diccionario
df = pl.DataFrame({
    "enteros": [1, 2, 3, 4, 5],
    "flotantes": [1.1, 2.2, 3.3, 4.4, 5.5],
    "cadenas": ["uno", "dos", "tres", "cuatro", "cinco"]
})
print(df)
shape: (5,)
Series: 'numeros' [i64]
[
    1
    2
    3
    4
    5
]

shape: (5, 3)
┌─────────┬──────────┬─────────┐
│ enteros ┆ flotantes┆ cadenas │
│ ---     ┆ ---      ┆ ---     │
│ i64     ┆ f64      ┆ str     │
╞═════════╪══════════╪═════════╡
│ 1       ┆ 1.1      ┆ uno     │
│ 2       ┆ 2.2      ┆ dos     │
│ 3       ┆ 3.3      ┆ tres    │
│ 4       ┆ 4.4      ┆ cuatro  │
│ 5       ┆ 5.5      ┆ cinco   │
└─────────┴──────────┴─────────┘
Una diferencia notoria es que Polars muestra el tipo de datos de cada columna directamente en la salida del DataFrame, lo que facilita entender la estructura de los datos.