np.where 例子
时间: 2024-10-31 21:06:28 浏览: 12
`np.where`是NumPy库中的一个函数,它用于在一个数组中根据条件返回元素索引。这个函数接收三个参数:条件数组、当条件满足时的值数组以及当条件不满足时的值数组。下面是一个简单的例子:
假设我们有一个二维数组`arr`,我们想要找到所有大于5的元素及其对应的索引位置:
```python
import numpy as np
# 创建示例数组
arr = np.array([[1, 6, 8], [4, 9, 2]])
# 使用np.where找出大于5的元素及其索引
mask = arr > 5
indices_and_values = np.where(mask)
# 输出结果:两个数组,分别包含行索引和列索引
row_indices, col_indices = indices_and_values
print("行索引:", row_indices)
print("列索引:", col_indices)
```
在这个例子中,`row_indices`将包含[1, 1]和[0, 2],表示第一行第二列和第二行第一列的元素大于5,`col_indices`则对应地存储了相应的列索引。
相关问题
sum.np.where
`np.where`是NumPy库中的一个函数,用于根据给定的条件返回数组中满足条件的元素的索引或值。它的语法如下:
```python
np.where(condition, x, y)
```
其中,`condition`是一个布尔数组或条件表达式,`x`和`y`是两个数组或标量。当`condition`中的元素为True时,返回`x`中对应位置的元素;当`condition`中的元素为False时,返回`y`中对应位置的元素。
如果只传入`condition`参数,则返回满足条件的元素的索引。如果同时传入`x`和`y`参数,则返回满足条件的元素的值。
下面是一个示例:
```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
condition = arr > 2
result = np.where(condition, arr, 0print(result)
```
输出结果为:`[0 0 3 4 5]`。在这个例子中,满足条件`arr > 2`的元素为3、4和5,所以返回的结果中对应位置的元素为3、4和5,不满足条件的元素为0。
np.where 矩阵
np.where()函数是NumPy中的一个函数,可以在数组中根据指定条件返回指定值的索引或元素。在矩阵中,np.where()函数可以根据条件返回满足条件的元素的行和列索引。
例如,如果有一个矩阵a:
```
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
```
我们可以使用np.where()函数来查找矩阵中所有大于5的元素的行和列索引:
```
row, col = np.where(a > 5)
```
这将返回一个包含满足条件的元素的行和列索引的元组。在这个例子中,row数组将包含[1, 2],col数组将包含[2, 0],分别对应矩阵中的元素6和7的行和列索引。
我们还可以使用np.where()函数来替换矩阵中所有大于5的元素为0:
```
a[np.where(a > 5)] = 0
```
这将把矩阵中所有大于5的元素替换为0。
阅读全文