如何检查NumPy数组中是否存在指定的值?


Python语言中有很多模块和函数可以用来检查给定NumPy数组中是否存在指定的值。

NumPy是Numerical Python的缩写,是一个用于执行数学、统计和科学计算的Python库。NumPy数组的结果以数组的形式返回。数组可以创建一维、二维,甚至高达32维。

NumPy库提供了许多模块和函数,帮助我们执行科学计算和数学计算。

让我们逐一看看检查NumPy数组中是否存在指定值的每种方法。

使用“in”关键字

下面的例子检查指定的值是否存在于NumPy数组中。我们有一个名为in的关键字,用于检查特定元素是否存在于定义的数据结构中。

import numpy as np
arr = np.array([10,30,2,40.3,56,456,32,4])
print("The Original array:",arr)
if 4 in arr:
    print("The element is present in the array.")
else:
    print("The element is not present in the array")

输出

运行上述代码后,将生成以下输出,它显示该元素存在于数组中。

The Original array: [ 10.   30.    2.   40.3  56.  456.   32.    4. ]
The element is present in the array.

示例

这是另一个例子,用于检查给定值是否存在于定义的数组中。

import numpy as np
arr = np.array([10,30,2,40.3,56,4,56,3,2,4])
print("The Original array:",arr)
if 4 or 56 in arr:
    print("The element is present in the array.")
else:
    print("The element is not present in the array")

输出

以下是使用“in”关键字检查给定值是否存在于数组中的输出。

The Original array: [10.  30.   2.  40.3 56.   4.  56.   3.   2.   4. ]
The element is present in the array.

使用np.isin()函数

NumPy库提供了一个名为isin()的函数,用于检查给定值是否存在于定义的数组中。要检查的值也应该为数组格式。输出将以布尔值True或False的形式返回。

示例

在这个例子中,我们将要检查的数组和值传递给numpy库的isin()函数,然后输出将以布尔值True或False的形式返回。

import numpy as np
arr = np.array([[10,30,2,40.3],[56,4,56,3]])
print("The Original array:",arr)
values = np.array([10,30,2,40.3])
output = np.isin(arr, values)
print(output)

输出

以下是isin()函数的输出,它返回布尔值。

The Original array: [[10.  30.   2.  40.3]
 [56.   4.  56.   3. ]]
[[ True  True  True  True]
 [False False False False]]

示例

下面的例子显示如何检查定义的数组中是否存在指定的值。

import numpy as np
arr = np.array([[[10,30],[2,40.3]],[[56,4],[56,3]]])
print("The Original array:",arr)
values = np.array([1,40.3])
output = np.isin(arr, values)
print(output)

输出

以下是上述代码的输出。

The Original array: [[[10.  30. ]
  [ 2.  40.3]]

 [[56.   4. ]
  [56.   3. ]]]
[[[False False]
  [False  True]]

 [[False False]
  [False False]]]

使用np.where()函数

where()是NumPy库提供的一个函数,允许你在NumPy数组中搜索特定值。此函数返回数组中存在该值的元素的索引。

示例

要检查NumPy数组中是否存在特定值,我们使用NumPy数组提供的where()函数。我们将数组和要搜索的值作为参数传递给此函数。

import numpy as np
arr = np.array([[[10,30],[2,40.3]],[[56,4],[56,3]]])
print("The Original array:",arr)
output = np.where(arr == 3)
print(output)

输出

运行上述代码后,我们将看到以下输出:

The Original array: [[[10.  30. ]
  [ 2.  40.3]]

 [[56.   4. ]
  [56.   3. ]]]
(array([1]), array([1]), array([1]))

更新于:2023年8月9日

7K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告