如何检查 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("原始数组:",arr) if 4 in arr: print("元素存在于数组中。") else: print("元素不存在于数组中")
输出
当我们运行上述代码时,将生成以下输出,它表明元素存在于数组中。
原始数组:[ 10. 30. 2. 40.3 56. 456. 32. 4. ] 元素存在于数组中。
示例
这是另一个示例,用于检查给定值是否存在于定义的数组中。
import numpy as np arr = np.array([10,30,2,40.3,56,4,56,3,2,4]) print("原始数组:",arr) if 4 or 56 in arr: print("元素存在于数组中。") else: print("元素不存在于数组中")
输出
以下是 in 关键字的输出,用于检查给定值是否存在于数组中。
原始数组:[10. 30. 2. 40.3 56. 4. 56. 3. 2. 4. ] 元素存在于数组中。
使用 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("原始数组:",arr) values = np.array([10,30,2,40.3]) output = np.isin(arr, values) print(output)
输出
以下是返回布尔值的 isin() 函数的输出。
原始数组:[[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("原始数组:",arr) values = np.array([1,40.3]) output = np.isin(arr, values) print(output)
输出
以下是上述代码的输出。
原始数组: [[[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("原始数组:",arr) output = np.where(arr == 3) print(output)
输出
运行上述代码时,我们会看到以下输出 -
原始数组: [[[10. 30. ] [ 2. 40.3]] [[56. 4. ] [56. 3. ]]] (array([1]), array([1]), array([1]))