Combining logic statements AND in numpy array

前端 未结 3 1671
情歌与酒
情歌与酒 2020-12-11 05:15

What would be the way to select elements when two conditions are True in a matrix? In R, it is basically possible to combine vectors of booleans.

So wha

3条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-11 05:45

    you could just use &, eg:

    x = np.arange(10)
    (x<8) & (x>2)
    

    gives

    array([False, False, False,  True,  True,  True,  True,  True, False, False], dtype=bool)
    

    A few details:

    • This works because & is shorthand for the numpy ufunc bitwise_and, which for the bool type is the same as logical_and. That is, this could also be spelled out as
      bitwise_and(less(x,8), greater(x,2))
    • You need the parentheses because in numpy & has higher precedence than < and >
    • and does not work because it is ambiguous for numpy arrays, so rather than guess, numpy raise the exception.

提交回复
热议问题