python返回元素所在的索引 numpy array
时间: 2023-09-07 15:03:06 浏览: 201
在使用NumPy的数组时,可以使用`numpy.argwhere()`函数来返回元素在数组中的索引。这个函数会返回一个由索引组成的多维数组,其中每一行代表数组中一个元素的索引。具体步骤如下:
1. 导入NumPy库:`import numpy as np`
2. 创建一个NumPy数组:`arr = np.array([1, 2, 3, 4, 5])`
3. 使用`numpy.argwhere()`函数返回元素所在的索引:`indices = np.argwhere(arr == 3)`
4. 遍历返回的索引数组,打印每个元素的索引位置:
```
for index in indices:
print(index)
```
输出结果时,每一行的元素代表数组中的一个元素的索引。例如,对于上面的数组`arr`,元素3的索引为`[2]`,表示它是数组中的第3个元素。
除了使用`numpy.argwhere()`函数外,还可以使用`numpy.where()`函数来返回元素所在的索引。不同之处在于,`numpy.where()`函数返回的是一个由索引组成的元组,每个元素对应于不同维度的索引数组。具体步骤如下:
1. 导入NumPy库:`import numpy as np`
2. 创建一个NumPy数组:`arr = np.array([1, 2, 3, 4, 5])`
3. 使用`numpy.where()`函数返回元素所在的索引:`indices = np.where(arr == 3)`
4. 打印返回的元组,其中每个元素对应一个索引数组:`print(indices)`
输出结果为`(array([2]),)`,表示元素3在数组中的索引为`[2]`。注意,由于`np.where()`函数返回的是元组,因此需要通过`indices[0]`来获取索引数组。
阅读全文