np.where()函数怎么用
时间: 2023-10-21 21:19:02 浏览: 92
np.where()函数用于根据一个条件数组来返回元素位置的索引,语法格式如下:
```python
np.where(condition[, x, y])
```
其中,
- condition:表示条件数组,可以是一个布尔数组或一个非零元素的数组。
- x、y:表示可选参数,如果只传递了condition参数,则返回一个元组,包含所有满足条件的元素的索引,即(condition.nonzero());如果同时传递了x和y参数,则返回一个与condition形状相同的数组,其中condition中满足条件的元素替换为x中对应的元素,不满足条件的元素替换为y中对应的元素。
例如:
```python
import numpy as np
# 示例1:只传递了condition参数
a = np.array([1, 2, 3, 4, 5])
b = np.where(a > 2)
print(b) # 输出:(array([2, 3, 4], dtype=int64),)
# 示例2:同时传递了x和y参数
c = np.array([1, 2, 3, 4, 5])
d = np.where(c > 2, c, -1)
print(d) # 输出:[-1 -1 3 4 5]
```
在示例1中,np.where()函数返回了一个元组,包含了a数组中所有大于2的元素的索引。
在示例2中,np.where()函数返回了一个与c形状相同的数组,其中大于2的元素替换为c中对应的元素,不大于2的元素替换为-1。
相关问题
np.where函数
np.where函数是numpy库中的一个非常实用的函数,主要有两个用法。第一个用法是np.where(condition, x, y),它会返回满足condition的索引。第二个用法是首先传入y,然后如果满足条件condition,那么y中原来的数值变为x,否则不变化。相当于[xv if c else yv for (c,xv,yv) in zip(condition,x,y)]。这个函数可以帮助我们快速地对数组进行筛选和替换操作。
python中np.where函数
np.where函数是numpy库中的一个函数,它的作用是根据指定的条件,返回符合条件的元素的索引或值。np.where函数的语法如下:
np.where(condition[, x, y])
其中,condition是指定的条件,x和y是可选的参数,用于指定符合条件和不符合条件的返回值。
当只有condition参数时,np.where函数返回符合条件的元素的索引。
当有x和y参数时,np.where函数会根据condition的值,返回符合条件的元素的值或不符合条件的元素的值。
例如,以下代码会将数组a中小于0的元素替换为0,其他元素不变:
```python
import numpy as np
a = np.array([-1, 2, -3, 4, 5])
b = np.where(a < 0, 0, a)
print(b)
```
输出结果为:
```
[0 2 0 4 5]
```
其中,np.where(a < 0, 0, a)的作用是将数组a中小于0的元素替换为0,其他元素不变。
阅读全文