Вы можете использовать необычное индексирование с np.isin
(NumPy v1.13 +) или np.in1d
для более старых версий.
Вот демонстрация:
# example input array
A = np.arange(16).reshape((4, 4))
# calculate Boolean mask for rows
mask = np.isin(A[:, 1], [1, 5, 13])
# assign values, converting mask to integers
A[np.where(mask), 2] = -1
print(A)
array([[ 0, 1, -1, 3],
[ 4, 5, -1, 7],
[ 8, 9, 10, 11],
[12, 13, -1, 15]])
В одну строку можно записать:
A[np.where(np.isin(A[:, 1], [1, 5, 13])), 2] = -1