首頁 >後端開發 >Python教學 >如何在 NumPy 中高效計算運行平均值?

如何在 NumPy 中高效計算運行平均值?

Barbara Streisand
Barbara Streisand原創
2024-12-18 05:42:15116瀏覽

How to Efficiently Calculate a Running Mean in NumPy?

在NumPy 和SciPy 計算運行平均值

在資料分析中,計算運行平均值,也稱為移動平均值,是一種常見的方法平滑時間序列波動的操作。此技術涉及沿著輸入數組滑動指定大小的窗口,並在每一步計算窗口內值的平均值。

NumPy Approach

NumPy, Python 中著名的科學計算庫,提供了一種計算運行平均值的便捷方法。利用 np.convolve 函數,我們可以有效地應用卷積運算來實現這一點。程式碼如下:

import numpy as np

# Define the input array
array = np.array([1, 2, 3, 4, 5])

# Specify the window size
window_size = 3

# Calculate the running mean using convolution
running_mean = np.convolve(array, np.ones(window_size) / window_size, mode='valid')

理解卷積運算

卷積運算本質上是對視窗中的值進行加權求和。對於運行平均值,我們使用統一內核,其中每個權重為 1/window_size。這確保了視窗內的所有值對計算平均值的貢獻相同。

處理邊界效應

np.convolve 中的模式參數決定了在計算過程中如何處理邊界效應。卷積。 「有效」模式傳回捲積運算對陣列大小沒有影響的結果。這意味著運行平均值的長度等於輸入數組減去視窗大小,從而有效地忽略邊緣的值。如果您需要以不同的方式處理邊界效應,您可以探索 np.convolve 支援的其他模式,例如「full」或「same」。

因此,透過利用 NumPy 的捲積功能,我們可以有效地計算運行一維數組的平均值,為您提供輕鬆平滑和分析時間序列資料的工具。

以上是如何在 NumPy 中高效計算運行平均值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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