如何在numpy数组上进行条件数组运算?

pr0*_*n8r 12 python numpy

我试图更好地掌握numpy数组,所以我有一个示例问题要询问它们:

假设我有一个名为a的numpy数组.我想在一个操作上执行一个操作,使其中的所有值递增,小于0,其余部分单独留下.例如,如果我有:

a = np.array([1,2,3,-1,-2,-3])
Run Code Online (Sandbox Code Playgroud)

我想回来:

([1,2,3,0,-1,-2])
Run Code Online (Sandbox Code Playgroud)

什么是最紧凑的语法?

谢谢!

unu*_*tbu 32

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])
Run Code Online (Sandbox Code Playgroud)