Verwenden Sie 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#Anzahl der gleitenden Durchschnitte
b=np.ones(num)/num
y2=np.convolve(y, b, mode='same')#gleitender Durchschnitt
plt.plot(x,yorg,'r',label='Erbsünde')
plt.plot(x,y,'k-',label='Originalserie')
plt.plot(x,y2,'b--', label='gleitender Durchschnitt')
plt.legend()
Ergebnis
Recommended Posts