numpy where函数
时间: 2023-10-24 07:09:02 浏览: 44
NumPy的where函数是一种条件语句,用于根据给定的条件从输入的数组中选择元素。where函数的语法如下:
```python
numpy.where(condition[, x, y])
```
其中,condition是一个数组或可解释为布尔数组的对象,x和y是满足条件的输出值,可以是标量、数组或可广播的对象,如果只给出condition,则返回一个形状相同的元素为True的位置数组。
下面是一些示例:
```python
import numpy as np
a = np.array([1, 2, 3, 4, 5])
b = np.where(a > 2) # 返回元素大于2的位置
print(b) # 输出 (array([2, 3, 4]),)
c = np.where(a > 2, a, -1) # 将元素大于2的值保留,其余置为-1
print(c) # 输出 [-1 -1 3 4 5]
```
在第一个示例中,where函数返回了一个包含元素大于2的位置的数组。
在第二个示例中,where函数根据条件选择了输入数组a中大于2的元素,并将其它元素置为-1,得到了一个新的数组c。
相关问题
numpy where argwhere
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]]
```
python numpy where
numpy中的where函数是一个条件判断函数,它可以根据给定的条件返回一个数组中满足条件的元素的下标或者值。其中,条件可以是一个布尔数组或者一个条件表达式。该函数的语法为:numpy.where(condition, x, y),其中condition为条件,x为满足条件的元素的值,y为不满足条件的元素的值。如果x和y都没有给定,则返回满足条件的元素的下标。