Syntax error Count the number of masked elements along specific axis

Count the number of masked elements along specific axis



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. 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...
", arr) print("
Array type...
", arr.dtype)

Get the dimensions of the Array −

print("
Array Dimensions...
",arr.ndim)

Get the shape of the Array −

print("
Our Masked Array Shape...
",arr.shape)

Get the number of elements of the Array −

print("
Elements in the Masked Array...
",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("
Result (number of masked elements)...
",ma.count_masked(arr, axis = 1))

Example

# Python ma.MaskedArray - Count the number of masked elements along specific axis

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...
", arr) print("
Array type...
", arr.dtype) # Get the dimensions of the Array print("
Array Dimensions...
",arr.ndim) print("
Our Array type...
", arr.dtype) # Get the shape of the Array print("
Our Masked Array Shape...
",arr.shape) # Get the number of elements of the Array print("
Elements in the Masked Array...
",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("
Result (number of masked elements)...
",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]
Updated on: 2022-02-03T11:41:11+05:30

138 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements