Wir np.convolve
verwenden -
np.convolve(mydata,np.ones(3,dtype=int),'valid')
Die Grundidee mit convolution
ist, dass wir einen Kernel, der wir durch das Eingabe-Array gleiten und die Faltungsoperation summiert die Elemente multipliziert mit den Kernel-Elementen, während der Kernel hindurchgleitet. Also, um unseren Fall für eine Fenstergröße von 3
zu lösen, verwenden wir einen Kernel von drei 1s
generiert mit np.ones(3)
.
Probelauf -
In [334]: mydata
Out[334]: array([ 4, 2, 3, 8, -6, 10])
In [335]: np.convolve(mydata,np.ones(3,dtype=int),'valid')
Out[335]: array([ 9, 13, 5, 12])
@Ohumeronen 'conv' erklären könnte eine Weile dauern. Aber hinzugefügt einige relevante Kommentare in der Post. – Divakar
Oh, vielen Dank, dass du dir die Zeit genommen hast. Ich sehe, dass diese Funktion ziemlich komplex zu sein scheint, aber ich werde auch einige Dokumentationen darüber lesen. Danke noch einmal! – Ohumeronen