使用NumPy / SciPy 在Python 中計算滾動/移動平均值
儘管NumPy 和SciPy 具有廣泛的功能,但計算平均移動的功能值可以這是一項極為複雜的任務。本文透過使用 NumPy 的 np.cumsum 提供一個易於實現的解決方案來解決這個問題。
使用 NumPy 實現移動平均最簡單的方法
對於一個簡單的非-加權移動平均值,np.cumsum提供了一個有效的解決方案:
def moving_average(a, n=3): ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n
性能和簡單性
此方法提供高效能,因為它利用了NumPy 優化的np.cumsum函數,在某些情況下優於基於FFT 的方法。此外,它避免了與複雜演算法相關的潛在錯誤,使其高度可靠。
在NumPy 中排除移動平均功能的理由
儘管它看起來很實用,但可能存在從核心NumPy 中排除移動平均功能的正當理由:
以上是如何使用 NumPy 在 Python 中高效計算滾動平均值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!