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
- Ambos dataframes deben estar ordenados por la clave de unión.
strategyelige backward, forward o nearest.- Así se adjunta el último precio o ajuste conocido.
Palabras clave y builtins usados aquí
asprint
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.
Paso 2 de 5 en Remodelado y joins; paso 16 de 32 en Polars.