Ответ 1
Используйте numpy.in1d()
:
In [6]: np.in1d(a, [14, 16, 18])
Out[6]: array([False, False, False, True, False, True, False], dtype=bool)
Я искал высокий и низкий и просто не мог найти способ сделать это (возможно, я искал неправильные условия.)
Я хотел бы создать маску (например, [True False False True True]) в зависимости от того, находится ли каждое значение в каком-то другом списке.
a=np.array([11,12,13,14,15,16,17])
mask= a in [14,16,8] #(this doesnt work at all!)
#I would like to see [False False False True False True False]
пока лучшее, что я могу придумать, - это понимание списка
mask = [True if x in other_list else False for x in my_numpy_array]
пожалуйста, дайте мне знать, если вы знаете какой-то секретный соус, чтобы сделать это с помощью numpy и fast (Computationally), так как этот список на самом деле огромен...
Используйте numpy.in1d()
:
In [6]: np.in1d(a, [14, 16, 18])
Out[6]: array([False, False, False, True, False, True, False], dtype=bool)