Series temporales en Pandas
DatetimeIndex, resample(), rolling(), shift(), generación de rangos de fechas y remuestreo.
Series temporales en Pandas es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
El tiempo en pandas
pandas ofrece compatibilidad de primera clase con fechas y horas. Convertir cadenas en marcas de tiempo e indexar por tiempo permite usar remuestreo, ventanas móviles y características de desfase.
Analizar fechas con to_datetime
pd.to_datetime convierte cadenas o números en objetos Timestamp adecuados e infiere automáticamente la mayoría de los formatos habituales.
import pandas as pd
d = pd.to_datetime(["2026-01-01", "2026-01-05", "2026-02-10"])
print(d)
print(d.dtype) # datetime64[ns]Generar fechas con date_range
pd.date_range crea una secuencia de marcas de tiempo espaciadas uniformemente. El código freq controla el paso: D para días, H para horas, M para fin de mes, entre otros.
rng = pd.date_range("2026-01-01", periods=5, freq="D")
print(rng)
# 2026-01-01 ... 2026-01-05Crear un DatetimeIndex
Establecer una columna de fecha y hora como índice crea un DatetimeIndex, que permite realizar selecciones conscientes del tiempo y utilizar las herramientas resample/rolling.
ts = pd.Series([10, 12, 9, 15, 11],
index=pd.date_range("2026-01-01", periods=5, freq="D"))
print(ts)Selección mediante cadenas parciales
Con un DatetimeIndex puede seleccionar mediante fechas parciales: una cadena que represente un año o un mes selecciona todas las filas correspondientes.
monthly = pd.Series(range(60),
index=pd.date_range("2026-01-01", periods=60, freq="D"))
print(monthly["2026-02"].head()) # all of FebruaryReducir la frecuencia con resample
resample es un groupby para datos temporales. Reduzca la frecuencia a una más gruesa y, después, agregue los datos; por ejemplo, convierta datos diarios en sumas semanales.
weekly = monthly.resample("W").sum()
print(weekly.head())Aumentar la frecuencia y rellenar
Remuestrear a una frecuencia MÁS FINA crea huecos. Combínelo con .ffill() para propagar hacia delante el último valor.
hourly = ts.resample("12H").ffill()
print(hourly.head())Ventanas móviles
rolling(window) calcula un estadístico sobre una ventana deslizante y constituye la base de las medias móviles que suavizan las series ruidosas.
roll = monthly.rolling(window=7).mean()
print(roll.head(10)) # first 6 are NaN (not enough history)Variantes de ventanas móviles
Cualquier reducción funciona sobre una ventana móvil: mean, sum, std, min y max. Una std móvil de 7 días mide la volatilidad reciente.
vol = monthly.rolling(7).std()
print(vol.tail())Crear desfases con shift
shift(n) desplaza los valores n periodos hacia delante, lo que crea características de desfase y permite calcular cambios entre periodos.
df = pd.DataFrame({"sales": [100, 110, 105, 130]})
df["prev"] = df["sales"].shift(1)
df["pct_change"] = (df["sales"] - df["prev"]) / df["prev"]
print(df)Extraer componentes de fecha
El accesor .dt expone componentes como year, month y dayofweek, que resultan útiles como características para modelos.
s = pd.Series(pd.date_range("2026-01-01", periods=3, freq="D"))
print(s.dt.dayofweek) # 0=Monday
print(s.dt.month)Comprobación rápida
Ponga a prueba sus conocimientos sobre series temporales.
Resumen
Herramientas para series temporales:
pd.to_datetimepara analizar fechas ypd.date_rangepara generarlas- Un
DatetimeIndexpermite seleccionar mediante cadenas parciales resample(freq).agg()para aumentar o reducir la frecuenciarolling(window)para calcular estadísticos móvilesshift(n)para desfases;.dtpara componentes de fecha
Preguntas frecuentes
¿La lección «Series temporales en Pandas» es gratis?
Sí — el texto completo de «Series temporales en Pandas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Series temporales en Pandas»?
DatetimeIndex, resample(), rolling(), shift(), generación de rangos de fechas y remuestreo. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Series temporales en Pandas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- GroupBy y agregación
- Tablas dinámicas y tabulación cruzada
- Fusión y combinación avanzadas
- Series temporales en Pandas