我有一个一维布尔数组a
,例如
a = numpy.array([0, 1, 0, 0, 1, 1, 1, 0, 1], dtype='bool')
我想用来numpy.where
查找True元素的索引
idx = numpy.where(a)[0]
我idx
是否可以假定输出始终按升序排序?可以numpy.where
保证吗?我问这个问题是因为文档没有说明任何内容,并且文档numpy.where
是用C编写的,因此很难看出它是如何工作的。
如果绝对最大速度不是最重要的,那么您可以简单地明确列出您的假设:
idx = np.arange(len(a))[a]
也就是说,np.nonzero(a)
保证按照文档顺序给出索引。它的含义比上面的要少,但会更快。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句