Numpy MaskedArray.cumsum() function | Python
Last Updated :
18 Oct, 2019
numpy.MaskedArray.cumsum()
Return the cumulative sum of the masked array elements over the given axis.Masked values are set to 0 internally during the computation. However, their position is saved, and the result will be masked at the same locations.
Syntax : numpy.ma.cumsum(axis=None, dtype=None, out=None)
Parameters:
axis :[ int, optional] Axis along which the cumulative sum is computed. The default (None) is to compute the cumsum over the flattened array.
dtype : [dtype, optional] Type of the returned array, as well as of the accumulator in which the elements are multiplied.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> If not provided or None, a freshly-allocated array is returned.
Return : [cumsum_along_axis, ndarray] A new array holding the result is returned unless out is specified, in which case a reference to out is returned.
Code #1 :
import numpy as geek
import numpy.ma as ma
in_arr = geek.array([[ 1 , 2 ], [ 3 , - 1 ], [ 5 , - 3 ]])
print ( "Input array : " , in_arr)
mask_arr = ma.masked_array(in_arr, mask = [[ 1 , 0 ], [ 1 , 0 ], [ 0 , 0 ]])
print ( "Masked array : " , mask_arr)
out_arr = mask_arr.cumsum()
print ( "cumulative sum of masked array along default axis : " , out_arr)
|
Output:
Input array : [[ 1 2]
[ 3 -1]
[ 5 -3]]
Masked array : [[-- 2]
[-- -1]
[5 -3]]
cumulative sum of masked array along default axis : [-- 2 -- 1 6 3]
Code #2 :
import numpy as geek
import numpy.ma as ma
in_arr = geek.array([[ 1 , 0 , 3 ], [ 4 , 1 , 6 ]])
print ( "Input array : " , in_arr)
mask_arr = ma.masked_array(in_arr, mask = [[ 0 , 0 , 0 ], [ 0 , 0 , 1 ]])
print ( "Masked array : " , mask_arr)
out_arr1 = mask_arr.cumsum(axis = 0 )
print ( "cumulative sum of masked array along 0 axis : " , out_arr1)
out_arr2 = mask_arr.cumsum(axis = 1 )
print ( "cumulative sum of masked array along 1 axis : " , out_arr2)
|
Output:
Input array : [[1 0 3]
[4 1 6]]
Masked array : [[1 0 3]
[4 1 --]]
cumulative sum of masked array along 0 axis : [[1 0 3]
[5 1 --]]
cumulative sum of masked array along 1 axis : [[1 1 4]
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...