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

Wie berechnet man effizient einen laufenden Mittelwert in Python mit NumPy oder SciPy?

Patricia Arquette
Freigeben: 2024-11-30 07:05:12
Original
737 Leute haben es durchsucht

How to Efficiently Calculate a Running Mean in Python using NumPy or SciPy?

Berechnung des laufenden Mittelwerts mit NumPy oder SciPy

Bei der Datenanalyse ist die Berechnung des laufenden Mittelwerts (auch als gleitender Durchschnitt bezeichnet) für ein 1D-Array ein häufiger Vorgang. Die SciPy- und NumPy-Bibliotheken von Python bieten zu diesem Zweck mehrere Funktionen.

NumPy-Lösung

Die np.convolve-Funktion von NumPy kann zum Ausführen von Mittelwertberechnungen genutzt werden. Es berechnet eine Faltungsoperation für das Eingabearray, wobei der Kernel eine gleichmäßige Verteilung ist, die die gewünschte Fenstergröße darstellt.

np.convolve(x, np.ones(N)/N, mode='valid')
Nach dem Login kopieren

wobei:

  • x das 1D-Eingabearray ist
  • N ist die Fenstergröße
  • mode='valid' behandelt Kanten wie erwartet (Ausgabelänge entspricht Eingabelänge minus Fenster). Größe)

Verstehen der Berechnung

Der laufende Mittelwert ist im Wesentlichen eine Faltungsoperation, bei der alle Fensterkoeffizienten auf 1/N eingestellt sind. Daher ist die Verwendung der Faltungsfunktion von NumPy recheneffizient.

Kantenbearbeitungsmodi

np.convolve bietet drei Kantenbearbeitungsmodi:

  • vollständig : Erweitert das Eingabearray durch Auffüllen mit Nullen
  • gleich: Gibt ein Array mit der gleichen Länge wie die Eingabe aus, indem beide Enden mit Nullen aufgefüllt werden
  • gültig: Ignoriert Kanten und gibt ein Array aus der Länge (len(input) - window_size 1)

Der Modus ist standardmäßig auf gültig eingestellt, als Es entspricht in der Regel dem intuitiven Verhalten laufender Mittelwertberechnungen, es können jedoch je nach spezifischen Anforderungen auch andere Modi verwendet werden.

Das obige ist der detaillierte Inhalt vonWie berechnet man effizient einen laufenden Mittelwert in Python mit NumPy oder SciPy?. 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