Вам нужно numpy.where
, чтобы извлечь массив целых чисел для подачи индексации NumPy:
x1[np.where(y1==1)[0], 1]
Чтобы понять, как это работает, обратите внимание, что y1 == 1
возвращает следующий логический массив:
array([[ True],
[ True],
[False],
[ True],
[False]], dtype=bool)
numpy.where
извлекает индексы элементов True
в первом возвращаемом элементе кортежа:
print(np.where(y1==1))
(array([0, 1, 3], dtype=int64), array([0, 0, 0], dtype=int64))