如何在多个条件下使用np.where

使用np.where()获取满足所有这些条件的数组元素的索引时,如何指定多个条件?

a = np.array([1, 2, 3, 4, 5, 6]) 
print(np.where(a > 2 and a < 5))

当我说

print(np.where(a > 2))

我得到了索引[2,3,4,5],但现在我只想得到[2,3]。

评论
  • 大三元
    大三元 回复

    You have to use bitwise operators, & for and, | for or, and so on.

    以你的例子

    a = np.array([1, 2, 3, 4, 5, 6])
    np.where((a > 2) & (a < 5))
    

    退货

    (array([2, 3], dtype=int64),)