arrays - 将零数组的索引查找到数组中
问题描述
我有一个 numpy 数组
my_array = np.array([[1,2,3,4],[5,6,7,8],[0,0,0,0],[1,2,3,4],[0,0,0,0],[0,0,0,1]])
当数组仅包含零值时,我想获取所有索引:
index 2 -> [0,0,0,0]
index 4 -> [0,0,0,0]
存在与类似问题的讨论:Find indices of elements equal to zero in a NumPy array
但是在这个解决方案中,我们得到的值等于零,而不是我想要的零数组。
感谢您的帮助。
解决方案
您可以使用np.argwhere
withnp.all
来获取所有元素 == 0 的行的索引:
In [11] np.argwhere((my_array == 0).all(axis=1))
Out[11]:
array([[2],
[4]], dtype=int64)
或者np.nonzero
而不是np.argwhere
给出更好的输出:
In [12] np.nonzero((my_array == 0).all(axis=1))
Out[12]: (array([2, 4], dtype=int64),)
推荐阅读
- mysql - MySQL - 选择特定日期
- django - Docker 正在运行但无法访问本地开发服务器 [Django]
- angular - 使用 AngularFireAuthGuard 时出现 NullInjectorError
- excel - 逻辑运算符是否有文本限定符?
- python - 如果信号的值大于信号的平均值,则画一条线
- php - SQL Server:获取数组不起作用存储过程
- javascript - SQLite 事务与 sqlBatch
- python - 安装pygame时出现EOFError
- python - Python MapReduce 如何添加条件语句
- python - XGBoost 的多类别分类是如何工作的?