Обнулить все отрицательные элементы в массиве - PullRequest
0 голосов
/ 10 июля 2020

Если у меня есть массив отрицательных и положительных чисел, как я могу сделать все отрицательные числа равными нулю и оставить все положительные числа простым способом (без итерации по нему с несколькими циклами for, поскольку массив многомерный)? Моя идея была:

a = np.array(...) # any random array
a = 0 if a < 0 else a

Но это не работает: (

Спасибо

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Вы можете попробовать это:

>>> a = np.array([1, 2, 3, -3, -2, 5, -1])
>>> a[a<0] = 0
>>> a
>>> [1, 2, 3, 0, 0, 5, 0]
1 голос
/ 10 июля 2020

Попробуйте с np.where

a=np.array([1,2,3,-1,2,-4])
a=np.where(a>0, a, 0)

Вывод:

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