np.argwhere这个函数什么意思
时间: 2023-12-16 08:50:40 浏览: 46
`np.argwhere` 是 NumPy 库中的一个函数,用于在数组中查找非零元素的索引。它将返回一个数组,其中每个元素是一个非零元素的索引,以元组的形式表示。例如,对于以下数组:
```python
import numpy as np
arr = np.array([[0, 1, 0],
[1, 0, 1],
[0, 1, 0]])
```
调用 `np.argwhere` 函数将返回一个包含非零元素索引的数组:
```python
np.argwhere(arr)
# 输出:array([[0, 1],
# [1, 0],
# [1, 2],
# [2, 1]])
```
这表示第 0 行第 1 列、第 1 行第 0 列、第 1 行第 2 列、第 2 行第 1 列这些位置的元素都是非零元素。
相关问题
np.where()函数和np.argwhere的区别
np.where()函数和np.argwhere()函数都可以用于查找数组中满足条件的元素的索引,但它们的返回值有所不同。
np.where()函数返回满足条件的元素的索引,这些索引以元组的形式给出,每个维度一个元组。例如,对于一个二维数组,返回的元组包含两个数组,第一个数组是满足条件的元素的行索引,第二个数组是满足条件的元素的列索引。
np.argwhere()函数返回满足条件的元素的索引,这些索引以二维数组的形式给出,每行一个索引。例如,对于一个二维数组,返回的二维数组包含多行,每行是一个满足条件的元素的索引,第一列是行索引,第二列是列索引。
下面是一个示例代码:
```python
import numpy as np
a = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
# 使用np.where()函数查找满足条件a > 3的元素的索引
indices = np.where(a > 3)
print(indices) # 输出:(array([1, 1, 2, 2, 2]), array([1, 2, 0, 1, 2]))
# 使用np.argwhere()函数查找满足条件a > 3的元素的索引
indices = np.argwhere(a > 3)
print(indices) # 输出:[[1 1], [1 2], [2 0], [2 1], [2 2]]
```
np.argwhere什么意思
`np.argwhere()` 是 NumPy 库中的一个函数,用于返回数组中非零元素的索引。它返回一个数组,其中每个行为非零元素的索引。例如,对于数组 `arr`,`np.argwhere(arr)` 返回的是一个形状为 `(n, arr.ndim)` 的数组,其中 `n` 是数组中非零元素的数量,`arr.ndim` 是数组的维度数。每一行表示一个非零元素的索引,其中每个元素对应该维度的索引值。