# Numpy – Make All Positive Values Negative

The Numpy library in Python comes with a number of useful functions and methods to work with and manipulate the data in arrays. In this tutorial, we will look at how to make all the positive values in a Numpy array negative with the help of some examples.

## Steps to make positive values negative in Numpy

You can use boolean indexing to make all the positive values in a Numpy array negative. The following is the syntax –

```# make positive values negative
ar[ar > 0] = -1 * ar[ar > 0]```

It replaces the positive values in the array `ar` with the corresponding negative values.

Let’s now look at a step-by-step example of using this syntax –

### Step 1 – Create a Numpy array

First, we will create a Numpy array that we will use throughout this tutorial.

Highlighted programs for you

Flatiron School

Flatiron School

Data Science Bootcamp
Product Design UX/UI Bootcamp

University of Maryland Global Campus

University of Maryland Global Campus

Cloud Computing Systems Master's
Digital Forensics & Cyber Investigation Master's

Creighton University

Creighton University

Health Informatics Master's

```import numpy as np

# create numpy array
ar = np.array([-3, -2, -1, 0, 1, 2, 3])
# display the array
print(ar)```

Output:

`[-3 -2 -1  0  1  2  3]`

Here, we used the `numpy.array()` function to create a one-dimensional Numpy array containing some numbers. You can see that the array has both positive and negative values (along with a zero).

### Step 2 – Make positive values negative using boolean indexing

Using boolean indexing identify the values that are greater than zero and then set them to their corresponding negative values (by multiplying by `-1`).

First, we will specify our boolean expression `ar > 0` (which finds the positive values in the array) and then make the array values satisfying this condition negative.

For example, let’s replace all the positive values in the above array with the corresponding negative values.

```# make positive values negative
ar[ar > 0] = -1 * ar[ar > 0]
# display the array
print(ar)```

Output:

`[-3 -2 -1  0 -1 -2 -3]`

The resulting array has the positive values replaced with the negative values.

To understand what’s happening here, let’s look under the hood. Let’s see what we get from the expression `ar > 0`

```# create a numpy array
ar = np.array([-3, -2, -1, 0, 1, 2, 3])
# result of boolean expression ar > 0
ar > 0```

Output:

`array([False, False, False, False,  True,  True,  True])`

We get a boolean array. The boolean values in this array represent whether a value at a particular index satisfies the given condition or not (in our case whether the element is greater than 0 or not).

When we do `ar[ar > 0] = -1 * ar[ar > 0]`, we are essentially setting the values in the array where the condition evaluates to `True` to its value multiplied by -1.

You can similarly filter a Numpy array for other conditions as well.

## Summary – Make positive values negative in Numpy

In this tutorial, we looked at how to replace all the positive values in a Numpy array with their corresponding negative values. The following is a short summary of the steps mentioned –

1. Create a Numpy array (skip this step if you already have an array to operate on).
2. Use boolean indexing to find the positive values and then make them negative `ar[ar > 0] = -1 * ar[ar > 0]`

You might also be interested in –

• 