np.where的详细用法
时间: 2023-11-15 08:03:29 浏览: 37
np.where是numpy库中的一个函数,用于根据指定的条件返回一个数组中满足条件的元素的索引或值。它的语法如下:
```python
numpy.where(condition[, x, y])
```
其中,condition是一个布尔型数组,表示条件;x和y是可选参数,表示满足条件和不满足条件时的返回值。如果只有condition参数,则返回满足条件的元素的索引;如果同时有x和y参数,则返回满足条件的元素的值。
下面是一些示例:
```python
import numpy as np
# 返回满足条件的元素的索引
a = np.array([1, 2, 3, 4, 5])
b = np.where(a > 3)
print(b) # 输出 (array([3, 4]),)
# 返回满足条件的元素的值
a = np.array([1, 2, 3, 4, 5])
b = np.where(a > 3, a, 0)
print(b) # 输出 [0 0 0 4 5]
```
相关问题
np.where的用法
`np.where()`是一个NumPy库中的函数,它返回一个数组中满足条件的元素的索引或值。它的语法如下:
```python
numpy.where(condition[, x, y])
```
其中,`condition`是一个条件,可以是一个布尔数组或一个条件表达式。如果只提供了`condition`参数,则返回满足条件的元素的索引。如果同时提供了`x`和`y`参数,则返回满足条件的元素的值,否则返回满足条件的元素的索引。
以下是`np.where()`的两个用法示例:
1. 多条件用法
```python
import numpy as np
data = np.array([[0, 2, 0], [3, 1, 2], [0, 4, 0]])
new_data = np.where((data>=0) & (data<=2), np.ones_like(data), np.zeros_like(data))
print(new_data)
```
输出:
```
[[1 1 1]
[0 1 1]
[1 0 1]]
```
在这个例子中,`np.where()`函数根据条件`(data>=0) & (data<=2)`返回一个新的数组`new_data`,其中满足条件的元素被替换为`1`,不满足条件的元素被替换为`0`。
2. 单条件用法
```python
import numpy as np
a = np.array([2, 4, 6, 8, 10])
indices = np.where(a > 5)
print(indices)
```
输出:
```
(array([2, 3, 4], dtype=int64),)
```
在这个例子中,`np.where()`函数根据条件`a > 5`返回一个元组`indices`,其中包含满足条件的元素的索引。
np.where用法举例
np.where是NumPy库中的一个函数,用于根据给定的条件返回符合条件的元素的索引或值。它的用法如下:
1. 返回符合条件的元素的索引:
```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
indices = np.where(arr > 3)
print(indices)
```
输出:
```
(array([3, 4]),)
```
这的条件是arr 3,np.where返回了满足条件的元素的索,即3和4。
2. 返回符合条件的元素值:
```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
values = np.where(arr > 3, arr, 0)
print(values)
```
输出:
```
[0 0 0 4 5]
```
这里的条件是arr > 3,np.where返回了满足条件的元素的值,不满足条件的元素用0代替。
3. 多个条件的使用:
```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
values = np.where((arr > 2) & (arr < 5), arr, -1)
print(values)
```
输出:
```
[-1 -1 3 4 -1]
```
这里的条件是arr > 2和arr < 5,np.where返回了同时满足两个条件的元素的值,不满足条件的元素用-1代替。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)