Promedio móvil en Python
Suavizar un stream de números con una ventana deslizante.
from collections import deque
def promedio_movil(valores, ventana):
bufer = deque(maxlen=ventana)
for valor in valores:
bufer.append(valor)
yield sum(bufer) / len(bufer)
Cómo funciona
- Un
dequeconmaxlensostiene la ventana deslizante. - Cada valor nuevo empuja afuera al más viejo.
- Entrega la media actual después de cada paso.
Palabras clave y builtins usados aquí
defforlensumyield
El intento, en números
- Líneas
- 7
- Caracteres a escribir
- 170
- Tokens
- 41
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 25 segundos.
Paso 3 de 7 en Iteradores, errores y archivos; paso 46 de 72 en Fundamentos del lenguaje.