Пропустить векторизованную операцию при отсутствии данных - PullRequest
0 голосов
/ 14 октября 2018

У меня есть разреженная (~ 15% ненулевая) матрица R, и я хочу выполнить векторизованную операцию над другой матрицей U, только для значений U, для которых R отлично от нуля, и в противном случае использовать ноль.

Если операция на U была дешевой, я мог бы рассчитать ее, а затем просто умножить на np.sign (R), который обычно равен нулю.Но некоторые значения вызывают ошибки, например деление на ошибки, потому что операция не имеет смысла применять к ним.

моя текущая попытка выглядит как

 np.multiply(abs(np.sign(R)), 1 / (1 - data_using_R)

, которая векторизована, и этобыстрый, за исключением того, что он имеет ошибки, потому что операция не имеет смысла, когда R равно нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...