Efficiently Calculating the Cumulative Sum of Numbers in a List
In computer programming, it is often necessary to calculate the cumulative sum of numbers in a list. This refers to the process of adding each number in the list to the previous sum. For example, if the original list contains [4, 6, 12], the cumulative sum would be [4, 10, 22].
One straightforward approach is to manually loop through the list and update the cumulative sum using the following steps:
t1 = time_interval[0] t2 = time_interval[1] + t1 t3 = time_interval[2] + t2
However, this approach can be inefficient, especially for large lists. For complex numerical operations involving arrays, it is recommended to utilize libraries such as Numpy. Numpy provides a specialized function called cumsum to calculate the cumulative sum:
import numpy as np a = [4, 6, 12] np.cumsum(a) # Output: array([4, 10, 22])
Numpy offers significant performance advantages over pure Python implementations, as evidenced by the following benchmark:
In [136]: timeit list(accumu(range(1000))) 10000 loops, best of 3: 161 us per loop In [137]: timeit list(accumu(xrange(1000))) 10000 loops, best of 3: 147 us per loop In [138]: timeit np.cumsum(np.arange(1000)) 100000 loops, best of 3: 10.1 us per loop
While Numpy is powerful, it may not be necessary if the cumulative sum is the only operation required. However, it is worth considering if your project involves extensive numerical operations.
The above is the detailed content of How Can I Efficiently Calculate the Cumulative Sum of a List of Numbers?. For more information, please follow other related articles on the PHP Chinese website!