Cómo usar itertools de Python para feature engineering en series temporales
itertools de Python ayuda a crear variables para series temporales con rapidez. Un nuevo artículo repasa ejemplos prácticos de feature engineering eficiente. Además, incluye código listo para usar que permite escalar tus proyectos.
Procesado por IA desde KDnuggets; editado por Hamidun News
itertools es un módulo integrado de Python para trabajar con iteradores y se convierte en una herramienta imprescindible para el feature engineering de series temporales. Si construyes variables con bucles y copiando datasets, itertools te permitirá hacerlo varias veces más rápido y con mucho menos consumo de memoria.
Qué es itertools y para qué sirve El módulo itertools contiene funciones para crear iteradores
rápidos y eficientes en memoria. En series temporales esto es crítico: en lugar de guardar listas en memoria, generamos las variables sobre la marcha. Con datasets de millones o miles de millones de puntos, esto va más allá de la comodidad: es imprescindible para poder trabajar siquiera.
Las principales funciones de itertools para feature engineering: combinations() — todos los pares y combinaciones de elementos (variables de retardo, interacciones entre variables) permutations() — todas las permutaciones (pruebas de orden e influencia de las variables) islice() — extracción de subsecuencias y ventanas deslizantes sin copiar datos zip_longest() — unión de series de distinta longitud con gestión de valores ausentes * chain() — unión de iteradores en un único flujo sin copiar datos ## Ejemplos prácticos: del enfoque ingenuo al escalable Un caso clásico: tenemos una serie temporal de precios y hay que construir variables de retardo (lag) de 1, 2 y 3. Forma ingenua (lenta): python import pandas as pd data = pd.read_csv('prices.
csv') for lag in range(1, 4): data[f'price_lag_{lag}'] = data['price'].shift(lag) El problema: cada shift() crea una copia del dataset en memoria. Con 10 millones de filas, eso supone ~300 millones de operaciones de copia y 3x de consumo de memoria.
Con itertools (rápido y eficiente): python from itertools import islice prices = [100, 102, 105, 103, 107, 110] for lag in range(1, 4): lagged = list(islice(prices, lag, None)) print(f'lag {lag}: {lagged}') islice no copia la lista: simplemente desplaza el puntero a la posición necesaria. En datasets grandes, esto ahorra horas de cómputo. Segundo ejemplo, ventanas deslizantes: python from itertools import islice, tee def sliding_window(iterable, n): iterables = tee(iterable, n) for i, it in enumerate(iterables): for _ in range(i): next(it, None) return zip(*iterables) prices = [100, 102, 105, 103, 107, 110] windows = list(sliding_window(prices, 3)) Así se crean ventanas deslizantes de tamaño 3 mediante iteradores perezosos, sin copiar el array.
Rendimiento: dónde se ahorra memoria y tiempo
En datasets de miles de millones de puntos: Evaluación perezosa — los elementos se generan solo cuando se necesitan y no se cargan completos Encadenamiento de operaciones — chain() une fuentes sin copias intermedias * Composición — combinando funciones de itertools se construye un pipeline complejo con un mínimo de memoria Resultado: el consumo de memoria puede reducirse entre 10 y 100 veces. En la nube, eso significa una factura más baja. En una máquina local, funciona lo que antes no cabía en la RAM.
Qué significa esto para ti Para data scientists: trabaja con datasets que antes simplemente no
cabían en memoria. Para ingenieros de ML: el modelo en producción requiere menos recursos y es más estable. itertools no es magia: es una forma integrada de trabajar con los datos de manera más inteligente. Empieza por las variables de retardo y las ventanas deslizantes; después encontrarás otros lugares donde aplicar la evaluación perezosa.
Ship AI Faster with Founders, Engineers & Weekly Architecture Reviews
Inside Vibe Club (hamidun.com/club) — weekly live masterminds with Zhemal Khamidun, Tech Radar, full LMS access, and 370+ production Claude Code skills.
Lo esencial de la IA — una vez por semana
Siete historias que de verdad importaron, elegidas a mano. Sin ruido ni notas de prensa.
¡Listo! Revisa tu correo para la confirmación.