Python NumPy маскирует диапазон значений - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть 2D-массив под названием img размером 100x100.Я пытаюсь замаскировать все значения больше -100 и меньше 100 как следующие.

img = np.ma.masked_where(-100 < img < 100, img)

Тем не менее, вышеприведенное дает мне сообщение об ошибке:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Спасибо.

1 Ответ

0 голосов
/ 25 февраля 2019

Вы не можете использовать цепочечные сравнения с массивами NumPy, потому что они используют Pythons and под колпаком.

Вы должны использовать & или эквивалентные функции numpy.logical_and илиnumpy.bitwise_and.

Например:

np.ma.masked_where((-100 < img) & (img < 100), img)
...