numpy中的where和argwhere
时间: 2024-04-19 07:09:16 浏览: 51
numpy中的where和argwhere是两个常用的函数,用于在数组中根据条件进行元素的选择和索引的返回。
1. where函数:
numpy.where(condition, x, y)函数根据condition条件从x和y中选择元素,返回一个数组。对于满足条件的元素,选择x中的对应元素;于不满足条件的元素,选择y中的对应元素。
示例:
```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
condition = arr > 3
result = np.where(condition, arr, 0)
print(result)
```
输出:
```
[0 0 0 4 5]
```
2. argwhere函数:
numpy.argwhere(condition)函数根据condition条件返回满足条件的元素的索引值,返回一个二维数组。
示例:
```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
condition = arr > 3
result = np.argwhere(condition)
print(result)
```
输出:
```
[[3]
[4]]
```
在使用这两个函数时,condition可以是一个布尔数组,或者是一个返回布尔数组的表达式。根据condition的值,选择相应的元素或索引值返回。
阅读全文