Как я делаю, условное выражение выстраивает арифметику на массиве numpy?

Я пытаюсь получить лучшую власть numpy массивы, таким образом, у меня есть демонстрационный вопрос спросить о них:

Скажите, что у меня есть массив numpy, названный a. Я хочу выполнить операцию на, который увеличивает все значения в ней, которые являются меньше чем 0, и оставляет остальных в покое. например, если я имел:

a = np.array([1,2,3,-1,-2,-3])

Я хотел бы возвратиться:

([1,2,3,0,-1,-2])

Каков самый компактный синтаксис для этого?

Спасибо!

12
задан Philipp 4 August 2010 в 20:02
поделиться

2 ответа

In [45]: a = np.array([1,2,3,-1,-2,-3])

In [46]: a[a<0]+=1

In [47]: a
Out[47]: array([ 1,  2,  3,  0, -1, -2])
32
ответ дан 2 December 2019 в 03:32
поделиться

Чтобы мутировать его:

a[a<0] += 1

Чтобы оставить исходный массив в покое:

a+[a<0]
10
ответ дан 2 December 2019 в 03:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: