在Numpy 中實現一維數組的高效滾動視窗
滾動視窗的概念涉及迭代資料序列並應用計算指定視窗長度內的資料子集。在給定的上下文中,任務是在不使用 Python 循環的情況下計算 Numpy 中一維數組的滾動標準差。
雖然可以使用 Numpy.std 輕鬆獲得標準差,但滾動視窗部分構成了一個挑戰。然而,透過利用部落格文章中介紹的「rolling_window」函數,我們可以將其功能擴展到一維數組。
「rolling_window」函數建立輸入數組的視圖,重新排列成一系列重疊的窗口,促進這些窗口上的高效計算。透過將所需的函數(在本例中為 Numpy.std)應用於每個窗口,我們獲得所需的滾動計算。
為了說明這一點,請考慮以下程式碼片段:
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)
在此範例中,「rolling_windows」表示重疊窗口,「rolling_stds」捕獲計算出的滾動標準差。透過使用 Numpy 函數進行這些計算,我們提高了效率並消除了計算中對 Python 循環的需要。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3