把ndarray中值为0的索引和值取出来
时间: 2024-02-09 21:08:54 浏览: 28
如果你想要获取一个 NumPy 数组中值为 0 的元素的索引和对应的值,可以使用 `numpy.where()` 函数。这个函数返回一个包含值为 True 的元素的索引的元组,你可以使用这个索引元组来获取对应的值。
下面是一个例子:
```python
import numpy as np
# 创建一个二维数组
a = np.array([[1, 0, 3], [0, 5, 0], [7, 0, 9]])
# 获取值为 0 的元素的索引
index = np.where(a == 0)
# 获取值为 0 的元素的值
value = a[index]
print("Index of zero elements:", index)
print("Values of zero elements:", value)
```
输出结果为:
```
Index of zero elements: (array([0, 1, 1, 2]), array([1, 0, 2, 1]))
Values of zero elements: [0 0 0 0]
```
在上面的例子中,我们首先创建了一个二维数组 `a`,然后使用 `np.where()` 函数获取了值为 0 的元素的索引。这个函数返回的是一个包含两个数组的元组,第一个数组包含行索引,第二个数组包含列索引。我们将这个元组赋值给变量 `index`。
接下来,我们使用 `index` 变量获取了值为 0 的元素的值,使用这个变量可以从数组中获取对应的值。我们将这个值赋值给变量 `value`。
最后,我们分别输出 `index` 和 `value` 变量的值,得到了值为 0 的元素的索引和对应的值。