首頁 > 後端開發 > Python教學 > 如何使用 NumPy 的'np.convolve”函數計算一維數組的運行平均值?

如何使用 NumPy 的'np.convolve”函數計算一維數組的運行平均值?

Mary-Kate Olsen
發布: 2024-12-01 06:50:10
原創
109 人瀏覽過

How to Calculate a Running Mean of a 1D Array Using NumPy's `np.convolve` Function?

如何使用SciPy 或NumPy 計算一維數組的運行平均值

運行平均值,也稱為移動平均值,是當當視窗在資料上滑動時,計算指定視窗內資料點子集的平均值的統計量測。在 Python 中,有多種使用 SciPy 和 NumPy 函數計算運行平均值的方法。

SciPy Function

SciPy 並沒有用於計算運行平均值的專用函數。但是,您可以使用 NumPy 中的 np.convolve 函數來實現運行平均值計算。

NumPy 函數

NumPy 的 np.convolve 函數執行卷積運算。在運行平均值的背景下,卷積是將內核應用於資料並對結果求和的過程。為了計算運行平均值,內核是均勻分佈的,它為視窗內的每個數據點賦予相同的權重。

要使用np.convolve 計算運行平均值,可以使用以下程式碼:

其中:

  • 陣列是要計算其運行的一維數組mean。
  • window_size 是計算平均值的視窗的大小。
  • mode='valid' 指定忽略數組的邊緣,從而得到一個輸出數組:比輸入數組短window_size - 1.

說明

np.ones(window_size) / window_size創建一個具有統一權重的核心。 np.convolve 將此內核應用於數組,從而為每個視窗產生一個均值數組。 mode='valid' 參數確保數組的邊緣不包含在計算中,從而產生反映整個資料的運行平均值的輸出數組。

邊緣處理

np.convolve 的 mode 參數指定如何處理陣列的邊緣。不同的模式會導致不同的邊緣行為。下表列出了常用的模式:

Mode Edge Handling
full Pads the array with zeros and returns an output array that is the same size as the input array.
same Pads the array with zeros to match the kernel size and returns an output array that is the same size as the input array.
valid Ignores the edges of the array, resulting in an output array that is shorter than the input array.

模式的選擇取決於您的特定要求以及您想要對數組邊緣的運行平均值的解釋。

以上是如何使用 NumPy 的'np.convolve”函數計算一維數組的運行平均值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板