使用Python 和NumPy/SciPy 接近移動平均線
儘管移動平均線在數據分析中很流行,但在NumPy 或SciPyPy中實現它們已經由於缺乏專門的職能,這被證明是一個挑戰。這引發了複雜的解決方案,並引發了關於這種遺漏原因的疑問。
使用NumPy 簡化實現
對於基本的、未加權的移動平均線,一個簡單的實現使用NumPy 的np.cumsum 函數成為一種可行的選擇。這種方法在效率方面甚至超越了基於 FFT 的方法:
def moving_average(a, n=3): ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n
此函數可以順利計算指定視窗大小的移動平均值。
問題仍然存在:為什麼沒有內建 -
考慮到實現的簡便性,沒有內建移動平均函數NumPy 可能會引起人們的注意。然而,答案在於 NumPy 專注於提供核心數值運算,同時將專門的功能留給外部函式庫。這使得 NumPy 能夠保持精簡和高效,為更客製化的套件留出空間來滿足特定的分析需求。
以上是為什麼 NumPy 中沒有內建移動平均函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!