typestar

Frames perezosos en Python

Diferir el trabajo para que Polars optimice la consulta completa.

import polars as pl

lazy = pl.LazyFrame({
    "city": ["akl", "wlg", "akl", "chc", "wlg"],
    "temp": [18, 14, 21, 12, 16],
})

consulta = (
    lazy
    .filter(pl.col("temp") > 13)
    .group_by("city")
    .agg(pl.col("temp").mean().alias("avg_temp"))
    .sort("avg_temp", descending=True)
)

plan = consulta.explain()
resultado = consulta.collect()

Cómo funciona

  1. LazyFrame registra operaciones sin ejecutarlas.
  2. explain muestra el plan de consulta optimizado.
  3. collect lo ejecuta y devuelve el resultado.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
327
Tokens
129
Ritmo de tres estrellas
115 tpm

Al ritmo de tres estrellas de 115 tokens por minuto, este intento toma unos 67 segundos.

Escribe este fragmento

Paso 1 de 4 en Lazy y SQL; paso 25 de 32 en Polars.

← Anterior Siguiente →