如何在 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 计算向量的大小