首頁 >後端開發 >Python教學 >如何在沒有循環的情況下有效計算 Numpy 中一維數組的滾動標準差?

如何在沒有循環的情況下有效計算 Numpy 中一維數組的滾動標準差?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-30 22:09:30280瀏覽

How can I efficiently calculate rolling standard deviation for a 1D array in Numpy without loops?

在Numpy 中為一維數組實現高效的滾動視窗

滾動視窗的概念涉及迭代資料序列並應用計算指定視窗長度內的資料子集。在給定的上下文中,任務是在不使用 Python 循環的情況下計算 Numpy 中一維數組的滾動標準差。

雖然可以使用 Numpy.std 輕鬆獲得標準差,但滾動視窗部分構成了挑戰。但是,透過利用部落格文章中介紹的「rolling_window」函數,我們可以將其功能擴展到一維數組。

「rolling_window」函數建立輸入數組的視圖,重新排列為一系列重疊的窗口,促進這些視窗上的高效計算。透過將所需的函數(在本例中為 Numpy.std)應用於每個窗口,我們獲得所需的滾動計算。

為了說明這一點,請考慮以下程式碼片段:

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

# Create a 1D array
observations = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# Specify window length
window_length = 3

# Calculate rolling windows
rolling_windows = rolling_window(observations, window_length)

# Calculate rolling standard deviations
rolling_stds = np.std(rolling_windows, axis=1)

# Print the results
print("Rolling standard deviations:", rolling_stds)</code>

在此範例中,「rolling_windows」表示重疊視窗,「rolling_stds」會擷取計算的捲動標準差。透過使用 Numpy 函數進行這些計算,我們提高了效率並消除了計算中對 Python 循環的需要。

以上是如何在沒有循環的情況下有效計算 Numpy 中一維數組的滾動標準差?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn