np.argwhere返回空数组
时间: 2023-08-14 16:03:01 浏览: 148
np.argwhere返回空数组的原因可能是输入数组中没有满足条件的元素。np.argwhere函数用于查找满足指定条件的元素的索引。如果没有符合条件的元素,则返回一个空数组。
请检查一下你的输入数组和条件,确保输入数组中存在满足条件的元素。另外,还可以尝试使用其他的条件或者调整条件,看看是否能够得到非空的结果。
以下是一个示例代码,演示了如何使用np.argwhere函数:
```python
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
condition = arr % 2 == 0
indices = np.argwhere(condition)
if indices.size == 0:
print("Empty array")
else:
print(indices)
```
在这个例子中,我们通过对arr数组进行取余操作,得到一个条件数组condition,然后使用np.argwhere函数找到满足条件的元素的索引。如果找到了满足条件的元素,就打印出索引;否则打印"Empty array"。
相关问题
np.argwhere与np.where区别
np.argwhere和np.where都是NumPy中用于查找数组中满足某个条件的元素索引的函数。它们的主要区别在于返回结果的形式和用法上。
np.where(condition)函数返回满足条件的元素的索引,以元组的形式表示。每个元组表示一个满足条件的元素的索引。如果数组是一维的,那么返回的结果是一个一维数组;如果数组是多维的,那么返回的结果是一个元组,其中每个元素是一个一维数组。
np.argwhere(condition)函数返回满足条件的元素的索引,以二维数组的形式表示。每一行表示一个满足条件的元素的索引。其中,每一行的第一个元素表示该元素在第0维的索引,第二个元素表示该元素在第1维的索引,以此类推。返回的结果是一个二维数组。
简而言之,np.where返回满足条件的元素索引的元组或数组,而np.argwhere返回满足条件的元素索引的二维数组。
np.argwhere
np.argwhere函数是NumPy库中的一个函数,用于查找数组中满足某个条件的元素的索引。它返回一个包含满足条件的元素索引的数组。具体来说,np.argwhere(condition)会返回一个二维数组,其中每一行是满足条件的元素的索引。条件可以是任何能够返回布尔值的表达式或函数。
例如,假设有一个一维数组arr,我们想要找到数组中所有大于5的元素的索引,可以使用np.argwhere(arr > 5)。
请注意,np.argwhere返回的是多维数组的索引,所以结果是一个二维数组。如果想要得到一维数组形式的索引,可以使用np.squeeze()函数进行压缩。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文