檢查 NumPy 中掩碼陣列中哪個元素等於給定值


要檢查掩碼陣列中哪個元素等於給定值,請使用 **ma.MaskedArray.__eq__()** 方法。對於等於給定值 val 的每個陣列元素,都會返回 True。掩碼陣列是標準 numpy.ndarray 和掩碼的組合。掩碼要麼是 nomask,表示關聯陣列的任何值均無效,要麼是布林值陣列,用於確定關聯陣列的每個元素的值是否有效。

NumPy 提供了全面的數學函式、隨機數生成器、線性代數例程、傅立葉變換等等。它支援各種硬體和計算平臺,並且與分散式、GPU 和稀疏陣列庫配合良好。

步驟

首先,匯入所需的庫 -

import numpy as np
import numpy.ma as ma

使用 numpy.array() 方法建立具有整數元素的陣列 -

arr = np.array([[55, 85, 68, 84], [67, 33, 39, 53], [29, 88, 51, 37], [56, 45, 67, 85]])
print("Array...
", arr) print("
Array type...
", arr.dtype)

獲取陣列的維度 -

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

建立一個掩碼陣列並掩蓋其中一些為無效 -

maskArr = ma.masked_array(arr, mask =[[1, 1, 0, 0], [ 0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]])
print("
Our Masked Array
", maskArr) print("
Our Masked Array type...
", maskArr.dtype)

獲取掩碼陣列的維度 -

print("
Our Masked Array Dimensions...
",maskArr.ndim)

獲取掩碼陣列的形狀 -

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

獲取掩碼陣列的元素數量 -

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

要比較的值 -

val = 67
print("
The given value to be compared with the masked array elements...
",val)

要檢查掩碼陣列中哪個元素等於給定值,請使用 ma.MaskedArray.__eq__() 方法。返回布林型別,即 True 和 False。對於每個等於給定值 val 的陣列元素,都會返回 True -

print("
Display True for each element equal to a given value val...
", maskArr.__eq__(val))

示例

import numpy as np
import numpy.ma as ma

# Create an array with int elements using the numpy.array() method
arr = np.array([[55, 85, 68, 84], [67, 33, 39, 53], [29, 88, 51, 37], [56, 45, 67, 85]])
print("Array...
", arr) print("
Array type...
", arr.dtype) # Get the dimensions of the Array print("
Array Dimensions...
",arr.ndim) # Create a masked array and mask some of them as invalid maskArr = ma.masked_array(arr, mask =[[1, 1, 0, 0], [ 0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]]) print("
Our Masked Array
", maskArr) print("
Our Masked Array type...
", maskArr.dtype) # Get the dimensions of the Masked Array print("
Our Masked Array Dimensions...
",maskArr.ndim) # Get the shape of the Masked Array print("
Our Masked Array Shape...
",maskArr.shape) # Get the number of elements of the Masked Array print("
Elements in the Masked Array...
",maskArr.size) # The value to be compared val = 67 print("
The given value to be compared with the masked array elements...
",val) # To check which element in a masked array is equal to a given value, use the ma.MaskedArray.__eq__() method # Returns with boolean type i.e. True and False. # True is returned for every array element equal to a given value val print("
Display True for each element equal to a given value val...
", maskArr.__eq__(val))

輸出

Array...
[[55 85 68 84]
[67 33 39 53]
[29 88 51 37]
[56 45 67 85]]

Array type...
int64

Array Dimensions...
2

Our Masked Array
[[-- -- 68 84]
[67 33 -- 53]
[29 88 51 --]
[56 -- 67 85]]

Our Masked Array type...
int64

Our Masked Array Dimensions...
2

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

Elements in the Masked Array...
16

The given value to be compared with the masked array elements...
67

Display True for each element equal to a given value val...
[[-- -- False False]
[True False -- False]
[False False False --]
[False -- True False]]

更新於: 2022年2月5日

108 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告