如何将布尔数组转换为numpy中的索引数组

发布于 2021-01-29 15:07:35

有没有一种有效的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]

在这种情况下,我想知道指标imask地方mask[i]==True。是否可以生成这些而不循环?

关注者
0
被浏览
82
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    另外的选择:

    In [13]: numpy.where(mask)
    Out[13]: (array([36, 68, 84, 92, 96, 98]),)
    

    这与numpy.where(mask==True)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看