Wie man den Rolling-/Moving-Window-Durchschnitt eines NumPy-Arrays berechnet
Der beste Weg, den gleitenden Durchschnitt für ein NumPy-Array zu berechnen, ist die Verwendung von bn.move_mean() aus der bottleneck-Bibliothek. Installieren Sie zuerst bottleneck mit
install_bottleneck.sh
pip install bottleneckImportieren Sie es nun mit
import_bottleneck.sh
import bottleneck as bnNun müssen Sie entscheiden, was mit Fenstern am Anfang des Arrays geschehen soll, in denen nicht genügend Elemente vorhanden sind. Das Standardverhalten ist, das Ergebnis für diese Fenster auf NaN zu setzen:
moving_average_examples.py
x = [1,2,3,4,5,6]
result = bn.move_mean(x, window=3)
# result = [nan, nan, 2., 3., 4., 5.]aber Sie können auch jedes Fenster akzeptieren, auch wenn es weniger als window Elemente hat.
moving_average_min_count.py
x = [1,2,3,4,5,6]
result = bn.move_mean(x, window=3, min_count=1)
# result = [1. , 1.5, 2. , 3. , 4. , 5. ]Ein weiteres Beispiel mit window=4:
moving_average_window4.py
x = [1,2,3,4,5,6]
result = bn.move_mean(x, window=4, min_count=1)
# result = array([1. , 1.5, 2. , 2.5, 3.5, 4.5])Check out similar posts by category:
Python
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow