16

I'm trying to get a better grip on numpy arrays, so I have a sample question to ask about them:

Say I have a numpy array called a. I want to perform an operation on a that increments all the values inside it that are less than 0 and leaves the rest alone. for example, if I had:

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

I would want to return:

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

What is the most compact syntax for this?

Thanks!

1

2 Answers 2

41
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])
Sign up to request clarification or add additional context in comments.

Comments

12

To mutate it:

a[a<0] += 1

To leave the original array alone:

a + (a<0)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.