如何在 numpy 数组中查找值索引(附示例)


可以使用以下方法来查找 NumPy 数组中特定值的索引位置:

方法一:查找所有价值指数位置

 n.p. where (x== value )

方法二:查找第一个值索引位置

 n.p. where (x== value )[0][0]

方法三:查找多个值的第一个索引位置

 #define values of interest
vals = np. array ([ value1 , value2 , value3 ])

#find index location of first occurrence of each value of interest
exit = np. argsort (x)
go out[np. searchsorted (x, vals, sorter=sorter)]

以下示例展示了如何在实践中使用每种方法。

方法一:查找所有价值指数位置

以下代码显示如何在 NumPy 数组中查找等于某个值的每个索引位置:

 import numpy as np

#define array of values
x = np. array ([4, 7, 7, 7, 8, 8, 8])

#find all index positions where x is equal to 8
n.p. where (x== 8 )

(array([4, 5, 6]),)

从结果中我们可以看到索引位置 4、5 和 6 都等于值8

方法二:查找第一个值索引位置

以下代码显示如何在 NumPy 数组中查找等于某个值的第一个索引位置:

 import numpy as np

#define array of values
x = np. array ([4, 7, 7, 7, 8, 8, 8])

#find first index position where x is equal to 8
n.p. where (x== 8 )[0][0]

4

从结果中我们可以看到,值8首先出现在索引位置4处。

方法三:查找多个值的第一个索引位置

以下代码展示了如何查找 NumPy 数组中多个值的第一个索引位置:

 import numpy as np

#define array of values
x = np. array ([4, 7, 7, 7, 8, 8, 8])

#define values of interest
vals = np. array ([4, 7, 8])

#find index location of first occurrence of each value of interest
exit = np. argsort (x)
go out[np. searchsorted (x, vals, sorter=sorter)]

array([0, 1, 4])

从结果我们可以看出:

  • 4首先出现在索引位置 0 处。
  • 7首先出现在索引位置 1 处。
  • 8首先出现在索引位置 4 处。

其他资源

以下教程解释了如何在 NumPy 中执行其他常见操作:

如何将函数映射到 NumPy 数组
如何在 Python 中将 NumPy 数组转换为列表
如何使用 NumPy 计算向量的大小

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注