In [134]: a = np.array([1, 1, 0, 1, 0, 0, 0, 1, 0])
...: b = np.array([0, 0, 1, 1, 1, 0, 1, 0, 1])
Элементы True
a
:
In [135]: a==1
Out[135]: array([ True, True, False, True, False, False, False, True, False])
, которые можно использовать в качестве логического массива для индексации b
:
In [136]: b[a==1]
Out[136]: array([0, 0, 1, 0])
индексов, отличных от нуля значения (он же np.where
):
In [137]: np.nonzero(a)
Out[137]: (array([0, 1, 3, 7]),)
, который кортеж индекса можно использовать для индексации b
(не нужно использовать [0]
в других ответах):
In [138]: b[np.nonzero(a)]
Out[138]: array([0, 0, 1, 0])