In this tutorial, we will look at how to replace all occurrences of NaN values in a Numpy array with zeros with the help of some examples.

## How do I replace all NaN with 0 in Numpy?

Use boolean indexing to replace all instances of NaN in a Numpy array with zeros. Here, we use the `numpy.isnan()`

function to check whether a value inside the array is NaN or not, and if it is, we set it to zero.

The following is the syntax –

import numpy as np ar[np.isnan(ar)] = 0

Let’s now look at a step-by-step example of using the above syntax on a Numpy array.

### Step 1 – Create a Numpy array

First, we will create a one-dimensional array that we will be using throughout this tutorial.

import numpy as np # create numpy array ar = np.array([1, 2, np.nan, 3, 4, np.nan, np.nan, 5]) # display the array ar

Output:

array([ 1., 2., nan, 3., 4., nan, nan, 5.])

Here, we used the `np.array()`

function to create a Numpy array with some numbers and some NaN values.

### Step 2 – Set NaN values in the array to 0 using boolean indexing

Use the `numpy.isnan()`

function to check whether a value in the array is NaN or not. If it is, set it to zero.

Let’s replace all occurrences of NaN in the above array with 0.

# replace nan with zeros ar[np.isnan(ar)] = 0 # display the array ar

Output:

array([1., 2., 0., 3., 4., 0., 0., 5.])

You can see that each instance of NaN has been replaced by a 0 in the above array. Note that here we are modifying the original array.

You can also use this method to replace NaN values with 0s in higher-dimensional arrays. For example, let’s apply this method to a two-dimensional array containing some NaN values.

# create a 2D numpy array ar = np.array([ [1, np.nan, 2], [np.nan, 3, 4], [5, np.nan, np.nan] ]) # display the array ar

Output:

array([[ 1., nan, 2.], [nan, 3., 4.], [ 5., nan, nan]])

Here, we created a 2D Numpy array containing some NaN values.

Let’s now replace the NaN values in this 2D array with 0s.

# replace nan with zeros ar[np.isnan(ar)] = 0 # display the array ar

Output:

array([[1., 0., 2.], [0., 3., 4.], [5., 0., 0.]])

The array now has 0s in place of NaNs.

You can similarly use this method to replace NaN values in a Numpy array with any other value.

## Summary – Replace NaN values in Numpy array with zeros

In this tutorial, we looked at how to replace all NaN values in a Numpy array with zeros. The following is a short summary of the steps mentioned in this tutorial.

- Create a Numpy array (skip this step if you already have an array to operate on).
- Use the
`numpy.isnan()`

function to check whether a value in the array is NaN or not. If it is, set it to 0 using boolean indexing`ar[np.isnan(ar)] = 0`

You might also be interested in –

- Get the k largest values in a Numpy Array
- Get the Most Frequent Value in Numpy Array
- Sort Numpy Array in Descending Order

**Subscribe to our newsletter for more informative guides and tutorials. ****We do not spam and you can opt out any time.**