用 Numpy 计算屏蔽元素的数量


要计算屏蔽元素的数量,可以使用 Python Numpy 中的 ma.MaskedArray.count_masked() 方法。该方法返回屏蔽元素的总数(axis=None)或沿给定轴的每个切片屏蔽元素的数量。

axis 参数是要计算的轴。如果为 None(默认),则使用该数组的扁平化版本。

步骤

首先,导入所需的库 −

import numpy as np
import numpy.ma as ma

使用 numpy.arange() 方法,创建包含 int 元素的 4x4 数组 −

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

获取数组的维度 −

print("
Array Dimensions...
",arr.ndim) print("
Our Array type...
", arr.dtype)

获取数组的形状 −

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

获取数组的元素数量 −

print("
Elements in the Masked Array...
",arr.size)

创建一个屏蔽数组 −

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

要计算屏蔽元素的数量,请使用 ma.MaskedArray.count_masked() 方法 −

print("
Result (number of masked elements)...
",ma.count_masked(arr))

示例

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

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, use the ma.MaskedArray.count_masked() method print("
Result (number of masked elements)...
",ma.count_masked(arr))

输出

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)...
7

更新于: 2022-02-03

813 次浏览

开启您的 职业生涯

完成课程,获得认证

开始使用
广告