Или оператор внутри функции np.all () - PullRequest
0 голосов
/ 30 мая 2019

Учитывая двумерный массив, я хотел бы найти строки, которые являются неоднородными.

У меня есть двумерный массив numpy, и я применил условие, в результате которого появился еще один двумерный массив numpy-массив логических значений.Теперь я хочу найти строки, которые не являются ни Истинными, ни Ложными.Возможно ли применить оператор или внутри np.all?

x = np.array([[1,1,1,1,1,1],
              [2,2,2,1,2,2],
              [3,3,3,3,3,3,]])

y = x > 1

z = ~np.all((y == True) or (y == False), axis=1)

ValueError: Значение истинности массива с более чем одним элементом неоднозначно.Используйте a.any () или a.all ()

Новый массив [bool], отмечающий неоднородные строки.Например: [False, True, False]

Очень приветствуется: подсказки для других решений или функций.

1 Ответ

0 голосов
/ 30 мая 2019

Вам нужно два np.all с перед тем, как их набрать.

x = np.array([[1,1,1,1,1,1],
              [2,2,2,1,2,2],
              [3,3,3,3,3,3,]])

y = x > 1

z = ~(np.all(y == True, axis=1) | np.all(y == False, axis=1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...