Count the number of masked elements along axis 1 in Numpy

NumpyServer Side ProgrammingProgramming

To count the number of masked elements along axis 1, use the ma.MaskedArray.count_masked() method. The axis is set using the "axis" parameter. The method returns the total number of masked elements (axis=None) or the number of masked elements along each slice of the given axis.

The axis parameter is the axis along which to count. If None (default), a flattened version of the array is used.

Steps

At first, import the required library −

import numpy as np
import numpy.ma as ma

Creating a 4x4 array with int elements using the numpy.arange() method −

arr = np.arange(16).reshape((4,4))
print("Array...\n", arr)
print("\nArray type...\n", arr.dtype)

Get the dimensions of the Array −

print("\nArray Dimensions...\n",arr.ndim)
print("\nOur Array type...\n", arr.dtype)

Get the shape of the Array −

print("\nOur Masked Array Shape...\n",arr.shape)

Get the number of elements of the Array −

print("\nElements in the Masked Array...\n",arr.size)

Create a masked array −

arr = ma.array(arr)
arr[0, 1] = ma.masked
arr[1, 1] = ma.masked
arr[2, 1] = ma.masked
arr[2, 2] = ma.masked
arr[3, 0] = ma.masked
arr[3, 2] = ma.masked
arr[3, 3] = ma.masked

To count the number of masked elements along specific axis, use the ma.MaskedArray.count_masked() method. The axis is set using the "axis" parameter −

print("\nResult (number of masked elements)...\n",ma.count_masked(arr, axis = 1))

Example

import numpy as np
import numpy.ma as ma

# Creating a 4x4 array with int elements using the numpy.arange() method
arr = np.arange(16).reshape((4,4))
print("Array...\n", arr)
print("\nArray type...\n", arr.dtype)

# Get the dimensions of the Array
print("\nArray Dimensions...\n",arr.ndim)
print("\nOur Array type...\n", arr.dtype)

# Get the shape of the Array
print("\nOur Masked Array Shape...\n",arr.shape)

# Get the number of elements of the Array
print("\nElements in the Masked Array...\n",arr.size)

# Create a masked array
arr = ma.array(arr)
arr[0, 1] = ma.masked
arr[1, 1] = ma.masked
arr[2, 1] = ma.masked
arr[2, 2] = ma.masked
arr[3, 0] = ma.masked
arr[3, 2] = ma.masked
arr[3, 3] = ma.masked

# To count the number of masked elements along specific axis, use the ma.MaskedArray.count_masked() method
# The axis is set using the "axis" parameter
print("\nResult (number of masked elements)...\n",ma.count_masked(arr, axis = 1))

Output

Array...
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]

Array type...
int64

Array Dimensions...
2

Our Array type...
int64

Our Masked Array Shape...
(4, 4)

Elements in the Masked Array...
16

Result (number of masked elements)...
[1 1 2 3]
raja
Updated on 21-Feb-2022 10:04:47

Advertisements