numpy where argwhere
时间: 2023-10-30 10:07:02 浏览: 62
numpy中的where函数和argwhere函数都可以用于根据条件返回数组中的元素索引。其中,where函数返回满足条件的元素的索引,而argwhere函数返回满足条件的元素的坐标。
具体来说,where函数的用法如下:
```python
numpy.where(condition[, x, y])
```
其中,condition是一个布尔型数组,x和y是可选参数,表示满足条件和不满足条件时返回的值。如果只传入condition,则返回满足条件的元素的索引。
argwhere函数的用法如下:
```python
numpy.argwhere(a)
```
其中,a是一个数组,返回满足条件的元素的坐标。
举个例子:
```python
import numpy as np
a = np.array([1, 2, 3, 4, 5])
condition = a > 3
# 使用where函数返回满足条件的元素的索引
print(np.where(condition)) # 输出 (array([3, 4]),)
# 使用argwhere函数返回满足条件的元素的坐标
print(np.argwhere(condition)) # 输出 [[3], [4]]
```
相关问题
numpy中的where和argwhere
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的值,选择相应的元素或索引值返回。
np.argwhere与np.where区别
np.argwhere和np.where都是NumPy中用于查找数组中满足某个条件的元素索引的函数。它们的主要区别在于返回结果的形式和用法上。
np.where(condition)函数返回满足条件的元素的索引,以元组的形式表示。每个元组表示一个满足条件的元素的索引。如果数组是一维的,那么返回的结果是一个一维数组;如果数组是多维的,那么返回的结果是一个元组,其中每个元素是一个一维数组。
np.argwhere(condition)函数返回满足条件的元素的索引,以二维数组的形式表示。每一行表示一个满足条件的元素的索引。其中,每一行的第一个元素表示该元素在第0维的索引,第二个元素表示该元素在第1维的索引,以此类推。返回的结果是一个二维数组。
简而言之,np.where返回满足条件的元素索引的元组或数组,而np.argwhere返回满足条件的元素索引的二维数组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)