Agrupar en el tiempo en Python
group_by_dynamic agrupa filas por ventana de tiempo, como un resample.
import polars as pl
tabla = pl.DataFrame({
"at": pl.datetime_range(
pl.datetime(2026, 7, 27), pl.datetime(2026, 8, 2),
interval="1d", eager=True),
"tpm": [88, 91, 97, 104, 99, 108, 102],
}).sort("at")
semanal = tabla.group_by_dynamic("at", every="3d").agg(
pl.len().alias("runs"),
pl.col("tpm").mean().round(1).alias("mean_tpm"),
)
print(semanal)
movil = tabla.with_columns(
pl.col("tpm").rolling_mean(window_size=3).round(1).alias("rolling3"))
print(movil.tail(3))
Cómo funciona
- El dataframe debe estar ordenado por la columna de tiempo.
everyes el tamaño del intervalo;periodpuede traslaparlos.- Las ventanas vacías aparecen o no según los argumentos.
Palabras clave y builtins usados aquí
asprint
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 468
- Tokens
- 186
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 101 segundos.
Paso 2 de 2 en Series de tiempo; paso 24 de 32 en Polars.