Numpy MaskedArray.cumsum() function | Python (original) (raw)

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]

Similar Reads