Заменить некоторые элементы numpy.ndarray на ноль для другого массива numpy - PullRequest
1 голос
/ 17 июня 2019

Мне нужно знать наиболее эффективный способ для следующего случая. Существует numpy.ndarray формы 11k * 11k, для которого мне нужно заставить все элементы некоторых строк быть равными нулю, учитывая двоичный массив numpy формы 11k. Пример игрушки можно описать следующим образом:

Входы:

x = np.array([[2, 1, 1, 2],
              [0, 2, 1, 0],
              [1, 0, 1, 1],
              [2, 2, 1, 0]])

ref = np.array([0, 1, 1, 0])

Выход:

y = ([[0, 0, 0, 0],
       [0, 2, 1, 0],
       [1, 0, 1, 1],
       [0, 0, 0, 0]])

1 Ответ

1 голос
/ 17 июня 2019

Используйте это -

y = np.multiply(x.T,ref).T
array([[0, 0, 0, 0],
       [0, 2, 1, 0],
       [1, 0, 1, 1],
       [0, 0, 0, 0]])
...