是否有一个有效的Numpy机制来检索基于条件为true的数组中位置的整数索引,而不是布尔掩码数组?
例如:
x=np.array([range(100,1,-1)])
#generate a mask to find all values that are a power of 2
mask=x&(x-1)==0
#This will tell me those values
print x[mask]
在这种情况下,我想知道 mask
的索引 i
,其中 mask[i]==True
. 是否有可能在没有循环的情况下生成这些?
4 回答
另外一个选项:
这跟
numpy.where(mask==True)
是一回事 .您应该能够使用numpy.nonzero()来查找此信息 .
现在改为:
如果您更喜欢 indexer 方式,则可以将布尔列表转换为numpy数组: