Ermitteln des laufenden Mittelwerts in Python
In Python kann die Berechnung des laufenden Mittelwerts eines 1D-Arrays für ein bestimmtes Fenster mit SciPy erreicht werden oder NumPy-Funktionen.
Verwenden SciPy
Wenn SciPy verfügbar ist, können Sie die Funktion scipy.signal.convolve verwenden:
from scipy.signal import convolve running_mean = convolve(array, np.ones(window) / window, mode='valid')
Dies ist gegebenenfalls die bevorzugte Methode, da sie im Allgemeinen effizient ist klar definiertes Verhalten, und vor allem, weil es sehr allgemein ist.
Verwenden NumPy
Wenn Sie nur NumPy haben, können Sie dessen np.convolve-Funktion verwenden:
running_mean = np.convolve(array, np.ones(window) / window, mode='valid')
Np.convolve verstehen
Die Kernoperation hier ist die Faltung. Die Faltung wird normalerweise als einzelne mathematische Summe über das Produkt von Teilen zweier Signale ausgedrückt. Die Interpretation in diesem Fall ist, dass wir die Fensteranteile mit den Koeffizienten (1/Fenster, 1/Fenster, ..., 1/Fenster) multiplizieren, die den in der Mittelwertformel verwendeten Gewichtungen entsprechen, und dann summieren über dem Produkt.
Bearbeitung von Kanten
Das mode-Argument von np.convolve steuert, wie mit Kanten umgegangen wird. „valid“ entfernt alle Kanteneffekte, indem nur der Teil einbezogen wird, in dem jedes Fenster vollständig in das Array passt. „same“ fügt den Kanten Nullen hinzu, um das Ausgabearray auf die gleiche Länge wie das Eingabearray zu bringen, und „full“ fügt Nullenauffüllung hinzu um das Ausgabearray so lang wie die Summe aus Fensterlänge und Eingabelänge minus eins zu machen. Die Wahl des Modus hängt von Ihren spezifischen Anforderungen ab.
Das obige ist der detaillierte Inhalt vonWie berechnet man einen laufenden Mittelwert in Python mit SciPy oder NumPy?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!