np.where怎么用
时间: 2023-07-08 10:42:20 浏览: 88
利用Numpy数组进行数据处理.pptx
`np.where` 是 NumPy 中用于根据条件返回数组中的元素下标或值的函数。具体使用方式如下:
```python
import numpy as np
# 生成一个随机数组
a = np.random.randint(10, size=(3, 4))
print(a)
# 输出:
# [[7 7 7 0]
# [3 5 2 3]
# [9 6 8 9]]
# 返回数组中所有等于 7 的元素下标
indices = np.where(a == 7)
print(indices)
# 输出:
# (array([0, 0, 0]), array([0, 1, 2]))
# 返回数组中所有小于 5 的元素下标和值
indices, values = np.where(a < 5)
print(indices)
# 输出:
# (array([0, 1, 1, 1]), array([3, 0, 2, 3]))
print(values)
# 输出:
# [0 3 2 3]
```
可以看到,`np.where` 的返回值是一个元组,元组中的每个元素都是一个数组,分别表示满足条件的元素在原数组中的下标或值。第一个元素是行下标,第二个元素是列下标(如果原数组是二维的)。需要注意的是,如果条件中使用了逻辑运算符 `and` 或 `or`,需要使用括号将条件括起来,例如 `np.where((a > 3) & (a < 7))`。
阅读全文