在Python 中尋找運行平均值
在Python 中,可以使用SciPy 計算特定視窗的一維數組的運行平均值或NumPy 函數。
使用SciPy
如果SciPy 可用,您可以使用scipy.signal.convolve 函數:
from scipy.signal import convolve running_mean = convolve(array, np.ones(window) / window, mode='valid')
這是首選方法,在適當方法的情況下,因為通常它是有效的,具有明確定義的行為,尤其是因為它非常通用。
使用NumPy
如果你只有 NumPy,可以用它的 np.convolve 函數:
running_mean = np.convolve(array, np.ones(window) / window, mode='valid')
理解np.convolve
這裡的核心運算是卷積。卷積通常表示為兩個訊號部分乘積的單一數學和。在這種情況下的解釋是,我們將窗口部分乘以係數(1/窗口,1/窗口,...,1/窗口),這些係數等於平均值公式中使用的權重,然後求和
處理邊
np.convolve 的mode 參數控制如何處理邊緣。 「valid」透過僅包含每個視窗完全適合數組的部分來消除所有邊緣效應,「same」向邊緣添加零以使輸出數組與輸入數組的長度相同,「full」添加零填充為了使輸出數組只要窗口長度與輸入長度之和減一即可。模式的選擇取決於您的特定要求。
以上是如何使用 SciPy 或 NumPy 在 Python 中計算運行平均值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!