高效計算清單中的累積和
累積清單中連續元素的總和可以是資料分析或數值計算中的常見任務計算。例如,給定一個時間間隔清單 time_interval = [4, 6, 12],我們可能想要找出這些間隔的累積和,從而得到 t = [4, 10, 22]。
使用問題中所展示的手動方法雖然有效,但對於大型清單來說可能很麻煩。然而,使用 numpy 函式庫可以提供更有效的解決方案:
import numpy as np a = [4, 6, 12] np.cumsum(a) #array([ 4, 10, 22])
numpy 的 cumsum 函數比純 Python 實作提供了顯著的效能優勢,尤其是對於大型清單。基準測試顯示 numpy 的 cumsum 效能優於手動累積一個數量級:
timeit list(accumu(range(1000))) 10000 loops, best of 3: 161 us per loop timeit list(accumu(xrange(1000))) 10000 loops, best of 3: 147 us per loop timeit np.cumsum(np.arange(1000)) 100000 loops, best of 3: 10.1 us per loop
因此,如果您經常使用數值數組,強烈建議使用 numpy 的 cumsum 函數,因為它的效率和易用性。
以上是如何在Python中高效計算累計和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!