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 :
# Python program explaining # numpy.MaskedArray.cumsum() method # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma # creating input array in_arr = geek.array([[ 1 , 2 ], [ 3 , - 1 ], [ 5 , - 3 ]]) print ( "Input array : " , in_arr) # Now we are creating a masked array. # by making entry as invalid. mask_arr = ma.masked_array(in_arr, mask = [[ 1 , 0 ], [ 1 , 0 ], [ 0 , 0 ]]) print ( "Masked array : " , mask_arr) # applying MaskedArray.cumsum # methods to masked array out_arr = mask_arr.cumsum() print ( "cumulative sum of masked array along default axis : " , out_arr) |
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 :
# Python program explaining # numpy.MaskedArray.cumsum() method # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma # creating input array in_arr = geek.array([[ 1 , 0 , 3 ], [ 4 , 1 , 6 ]]) print ( "Input array : " , in_arr) # Now we are creating a masked array. # by making one entry as invalid. mask_arr = ma.masked_array(in_arr, mask = [[ 0 , 0 , 0 ], [ 0 , 0 , 1 ]]) print ( "Masked array : " , mask_arr) # applying MaskedArray.cumsum methods # to masked array 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) |
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]