Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich die rollierende Standardabweichung für ein 1D-NumPy-Array mithilfe eines rollierenden Fensters berechnen?

Wie kann ich die rollierende Standardabweichung für ein 1D-NumPy-Array mithilfe eines rollierenden Fensters berechnen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 12:33:01528Durchsuche

How Can I Calculate Rolling Standard Deviation on a 1D NumPy Array Using a Rolling Window?

Rolling-Window-Implementierung für 1D-Arrays in NumPy

Für die effiziente Handhabung von Rolling-Windows auf 1D-Arrays bietet NumPy eine nützliche Implementierung. Betrachten wir ein Szenario, in dem wir ein 1D-NumPy-Array namens Beobachtungen haben. Um die rollierenden Standardabweichungen mit einer Fensterlänge von n zu berechnen, können wir den folgenden Ansatz nutzen:

<code class="python">import numpy as np

n = 5  # Example window length

# Create a rolling window for the observations
rolling_window = np.lib.stride_tricks.as_strided(observations, shape=(len(observations) - n + 1, n), strides=(observations.strides[0],))

# Apply the standard deviation function to each window
rolling_stdev = np.std(rolling_window, axis=1)</code>

Dieses Code-Snippet wendet die NumPy-Standardfunktion effizient auf jedes Fenster an, was zu den gewünschten rollierenden Standardabweichungswerten führt . Beachten Sie, dass Sie np.std durch jede andere Funktion ersetzen können, die Sie auf die Fensterdaten anwenden möchten.

Das obige ist der detaillierte Inhalt vonWie kann ich die rollierende Standardabweichung für ein 1D-NumPy-Array mithilfe eines rollierenden Fensters berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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