# Numpy – Set All Non Zero Values to One

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 set all the non-zero values in a Numpy array to one with the help of some examples.

## Steps to set all non zero values to one in Numpy

You can use boolean indexing to set all the non zero values in a Numpy array to one. The following is the syntax –

```# set non-zero values to one
ar[ar != 0] = 1```

It replaces the non-zero values in the array `ar` with `1`.

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.

```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 non-zero values one using boolean indexing

Using boolean indexing identify the values that are not equal to zero and then set them to `1`.

📚 Data Science Programs By Skill Level

Introductory

Intermediate ⭐⭐⭐

🔎 Find Data Science Programs 👨‍💻 111,889 already enrolled

Disclaimer: Data Science Parichay is reader supported. When you purchase a course through a link on this site, we may earn a small commission at no additional cost to you. Earned commissions help support this website and its team of writers.

First, we will specify our boolean expression `ar != 0` (which finds the non-zero values in the array) and then set values satisfying this condition to one.

```# set non-zero values to one
ar[ar != 0] = 1
# display the array
print(ar)```

Output:

`[1 1 1 0 1 1 1]`

The resulting array has all the non-zero values replaced with one.

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([ True,  True,  True, 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 not equal to zero or not).

When we do `ar[ar != 0] = 1`, we are essentially setting the values in the array where the condition evaluates to `True` to `1`.

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

## Summary – Set non-zero values to `1` in Numpy

In this tutorial, we looked at how to set all the non-zero values in a Numpy array to one. 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 non-zero values and then set them to one –
`ar[ar != 0] = 1`

You might also be interested in –