Utilisez convolve.
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,100)
yorg=np.sin(x)
y=np.sin(x)+np.random.randn(100)*0.2
num=5.0#Nombre de moyennes mobiles
b=np.ones(num)/num
y2=np.convolve(y, b, mode='same')#moyenne mobile
plt.plot(x,yorg,'r',label='Péché originel')
plt.plot(x,y,'k-',label='Série originale')
plt.plot(x,y2,'b--', label='moyenne mobile')
plt.legend()
résultat
Recommended Posts