np.where如果在两个相同形状的数组中选择下标
时间: 2023-08-07 20:10:32 浏览: 100
数组排序后拿出最大的几个数,并且取它们的下标,包括数组元素相同的情况
4星 · 用户满意度95%
您可以使用`np.where`函数在两个相同形状的数组中选择符合条件的元素的下标。
下面是一个示例:
```python
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])
condition = arr1 > 3 # 定义条件,选择arr1中大于3的元素的下标
indices = np.where(condition) # 使用np.where获取满足条件的下标
print(indices)
```
输出:
```
(array([3, 4]),)
```
在这个例子中,`arr1`中大于3的元素是4和5,因此`np.where`返回的下标是3和4。
您还可以使用`np.where`选择两个数组中对应位置满足特定条件的元素的下标。例如:
```python
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])
condition = arr1 > arr2 # 定义条件,选择arr1中大于arr2对应位置元素的下标
indices = np.where(condition) # 使用np.where获取满足条件的下标
print(indices)
```
输出:
```
(array([4]),)
```
在这个例子中,只有`arr1`中最后一个元素5大于`arr2`中最后一个元素10,因此`np.where`返回的下标是4。
阅读全文