我想组合逻辑表达式,但我得到一个例外:
array = np.arange(10)
array > 1
array([False, False, True, True, True, True, True, True, True,
True])
array < 4
array([ True, True, True, True, False, False, False, False, False,
False])
(array > 1 & array < 4)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我期望的是一个长度为10的布尔数组,在索引2和3处具有True值 - 其中两个条件都满足 - 而在其他地方则为False。
您的建议将不胜感激。
答案 0 :(得分:0)
你需要numpy的logical_and函数。
import numpy as np
np.logical_and(array>1, array<4). # [False, False, True, True, False, False, False, False, False, False]