Как выполнять поэлементные логические операции с множеством массивов [дубликат]

На этот вопрос уже есть ответ:

Например, я хотел бы создать маску, которая маскирует элементы со значением от 40 до 60:

foo = np.asanyarray(range(100))
mask = (foo < 40).__or__(foo > 60)

Это выглядит некрасиво, я не могу написать:

(foo < 40) or (foo > 60)

, потому что в итоге получаю:

  ValueError Traceback (most recent call last)
  ...
  ----> 1 (foo < 40) or (foo > 60)
  ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Есть ли канонический способ выполнения поэлементных логических операций с массивами numpy с красивым кодом?

46
задан jb. 18 September 2015 в 13:55
поделиться