Count the number of masked elements along axis 0 to count in Numpy

NumpyServer Side ProgrammingProgramming

To count the number of masked elements along specific axis, use the ma.MaskedArray.count_masked() method. The axis 0 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 = 0))

Example

# Python ma.MaskedArray - Count the number of masked elements along axis 0 to count

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 = 0))

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 3 2 1]
raja
Updated on 03-Feb-2022 11:51:26

Advertisements