Как я могу логически замаскировать массив, используя цепные сравнения?

Как я могу отфильтровать массив с использованием пары неравенств, таких как:

>>> a = np.arange(10)
>>> a[a <= 6]
array([0, 1, 2, 3, 4, 5, 6])
>>> a[3 < a]
array([4, 5, 6, 7, 8, 9])
>>>
>>> a[3 < a <= 6]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous.
 Use a.any() or a.all()

Я получаю тот же ответ, если я пытаюсьa.all(3 < a <= 6)

np.array([x for x in a if 3 < x <= 6]) работает, но кажется противным. Какой правильный способ сделать это?

Ответы на вопрос(1)

Ваш ответ на вопрос