2017-01-01 3 views
1

Мы можем найти индексы скаляр в Numpy массиве, как показано ниже:Получение маски Numpy массива в соответствии с элементами вектора типа

import numpy as np 
array = np.array([1,2,3]) 
mask = (array == 2) #mask is now [False,True,False] 

Когда элемент вектора:

import numpy as np 
array = np.array([[1,2],[1,4],[5,6]]) 
mask = (array == [1,4]) #mask is now [[True,False],[True,True],[False,False]] 

Я на самом деле хочу для создания аналогичной маски, как в первом фрагменте кода во втором примере.

mask = [False,True,False] 

Возможно ли это в библиотеке numpy?

ответ

1

Поскольку сравнение поэлементно, вам нужно уменьшить его с помощью all на первой оси:

(array == [1, 4]).all(axis=1) 
Out: array([False, True, False], dtype=bool) 
+0

Спасибо за подсказку @ayhan –

Смежные вопросы