The cumsum()
function is used to calculate the cumulative sum of array elements along a specified axis or across all axes.
Example
import numpy as np
# create a NumPy array
array1 = np.array([1, 2, 3, 4, 5])
# calculate the cumulative sum of the array elements
cumulative_sum = np.cumsum(array1)
print(cumulative_sum)
# Output : [ 1 3 6 10 15]
cumsum() Syntax
The syntax of cumsum()
is:
numpy.cumsum(array, axis=None, dtype=None, out=None)
cumsum() Arguments
The cumsum()
function takes following arguments:
array
- the input arrayaxis
(optional) - the axis along which the cumulative sum is calculateddtype
(optional) - the data type of the returned cumulative sumout
(optional) - the output array where the result will be stored
cumsum() Return Value
The cumsum()
function returns an array containing the cumulative sum of elements along the specified axis or across all axes.
Example 1: cumsum() With 2-D Array
The axis
argument defines how we can find the sum of elements in a 2-D array.
- If
axis
=None
, the array is flattened and the cumulative sum of the flattened array is returned. - If
axis
= 0, the cumulative sum is calculated column-wise. - If
axis
= 1, the cumulative sum is calculated row-wise.
Let's see an example.
import numpy as np
# create a 2-D array
array1 = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# calculate cumulative sum of elements of the flattened array
result1 = np.cumsum(array1)
print('Cumulative Sum of flattened array: ', result1)
# calculate the cumulative sum along the rows (axis=1)
cumulative_sum_rows = np.cumsum(array1, axis=1)
# calculate the cumulative sum along the columns (axis=0)
cumulative_sum_cols = np.cumsum(array1, axis=0)
print("\nCumulative sum along rows:")
print(cumulative_sum_rows)
print("\nCumulative sum along columns:")
print(cumulative_sum_cols)
Output
Cumulative Sum of flattened array: [ 1 3 6 10 15 21 28 36 45] Cumulative sum along rows: [[ 1 3 6] [ 4 9 15] [ 7 15 24]] Cumulative sum along columns: [[ 1 2 3] [ 5 7 9] [12 15 18]]
Example 2: Use of dtype Argument in cumsum()
import numpy as np
# create an array
array1 = np.array([1, 2, 3, 4, 5])
# calculate the cumulative sum of array1 with the specified data type as float
cumulative_sum_float = np.cumsum(array1, dtype=float)
print(cumulative_sum_float)
Output
[ 1. 3. 6. 10. 15.]
Here, the dtype
argument is used to specify the data type of the resulting cumulative sum.
In our case, we set the data type as float
using dtype=float
. This means that the resulting cumulative sum will have elements of type float
.
Example 3: Use of out Argument in cumsum()
import numpy as np
# create an array
array1 = np.array([1, 2, 3, 4, 5])
# create an empty array with the same shape as array1
out_array = np.zeros_like(array1)
# calculate the cumulative sum of array1 and store the result in out_array
np.cumsum(array1, out=out_array)
print(out_array)
Output
[ 1 3 6 10 15] [ 1. 3. 6. 10. 15.]
Here, after specifying out=out_array
, the result of cumulative sum of array1 is stored in the out_array array.