typestar

Unir por el tiempo más cercano en Python

join_asof empareja cada fila izquierda con la fila derecha más reciente.

from datetime import datetime

import polars as pl

intentos = pl.DataFrame({
    "at": [datetime(2026, 7, 29, 9, 5), datetime(2026, 7, 29, 9, 40)],
    "tpm": [104, 96],
}).sort("at")

ajustes = pl.DataFrame({
    "at": [datetime(2026, 7, 29, 9, 0), datetime(2026, 7, 29, 9, 30)],
    "theme": ["default", "monokai"],
}).sort("at")

print(intentos.join_asof(ajustes, on="at", strategy="backward"))

Cómo funciona

  1. Ambos dataframes deben estar ordenados por la clave de unión.
  2. strategy elige backward, forward o nearest.
  3. Así se adjunta el último precio o ajuste conocido.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
382
Tokens
149
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 81 segundos.

Escribe este fragmento

Paso 2 de 5 en Remodelado y joins; paso 16 de 32 en Polars.

← Anterior Siguiente →