Heim > Backend-Entwicklung > Python-Tutorial > Wie berechnet man effizient einen laufenden Mittelwert in NumPy?

Wie berechnet man effizient einen laufenden Mittelwert in NumPy?

Barbara Streisand
Freigeben: 2024-12-18 05:42:15
Original
113 Leute haben es durchsucht

How to Efficiently Calculate a Running Mean in NumPy?

Berechnung des laufenden Mittelwerts in NumPy und SciPy

In der Datenanalyse ist die Berechnung des laufenden Mittelwerts, auch als gleitender Durchschnitt bekannt, üblich Operation, die die Schwankungen in einer Zeitreihe glättet. Bei dieser Technik wird ein Fenster einer bestimmten Größe entlang eines Eingabearrays verschoben und bei jedem Schritt der Mittelwert der Werte innerhalb des Fensters berechnet.

NumPy-Ansatz

NumPy, eine bekannte Bibliothek für wissenschaftliches Rechnen in Python, bietet eine praktische Methode zur Berechnung des laufenden Mittelwerts. Mithilfe der Funktion np.convolve können wir die Faltungsoperation effizient anwenden, um dies zu erreichen. Hier ist der Code:

import numpy as np

# Define the input array
array = np.array([1, 2, 3, 4, 5])

# Specify the window size
window_size = 3

# Calculate the running mean using convolution
running_mean = np.convolve(array, np.ones(window_size) / window_size, mode='valid')
Nach dem Login kopieren

Verstehen der Faltungsoperation

Die Faltungsoperation führt im Wesentlichen eine gewichtete Summe der Werte im Fenster durch. Für den laufenden Mittelwert verwenden wir einen einheitlichen Kernel, bei dem jedes Gewicht 1/Fenstergröße beträgt. Dadurch wird sichergestellt, dass alle Werte innerhalb des Fensters gleichermaßen zum berechneten Mittelwert beitragen.

Umgang mit Grenzeffekten

Der Modusparameter in np.convolve bestimmt, wie Grenzeffekte während behandelt werden die Faltung. Der „gültige“ Modus gibt das Ergebnis zurück, bei dem die Faltungsoperation keinen Einfluss auf die Array-Größe hat. Dies bedeutet, dass der laufende Mittelwert eine Länge hat, die dem Eingabearray minus der Fenstergröße entspricht, wodurch die Werte an den Rändern effektiv ignoriert werden. Wenn Sie Grenzeffekte anders handhaben müssen, können Sie andere von np.convolve unterstützte Modi erkunden, z. B. „vollständig“ oder „gleich“.

Durch die Nutzung der Faltungsfunktionen von NumPy können wir den Lauf effizient berechnen Mittelwert eines 1D-Arrays, wodurch Sie ein Tool zum einfachen Glätten und Analysieren von Zeitreihendaten erhalten.

Das obige ist der detaillierte Inhalt vonWie berechnet man effizient einen laufenden Mittelwert in NumPy?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage