  # Replace negative value with zero in Numpy array

Arrays | NumPy | Python Methods and Functions

Given `numpy` array, the goal is to replace negative values with zeros in numpy array. Let’s check up some examples of this issue.

## Numpy replace negative with 0: Naive Method

```# Python code to demonstrate
# to replace negative value with 0
import numpy as np

ini_array1 = np.array([1, 2, -3, 4, -5, -6])

# printing initial arrays
print("initial array", ini_array1)

# code to replace all negative value with 0
ini_array1[ini_array1<0] = 0

# printing result
print("New resulting array: ", ini_array1)
```

### Output:

```initial array [ 1  2 -3  4 -5 -6]
New resulting array:  [1 2 0 4 0 0]
```

## Numpy replace negative values with zero Using np.clip

```# Python code to demonstrate
# to replace negative values with 0
import numpy as np

# supposing maxx value array can hold
maxx = 1000

ini_array1 = np.array([1, 2, -3, 4, -5, -6])

# printing initial arrays
print("initial array", ini_array1)

# code to replace all negative value with 0
result = np.clip(ini_array1, 0, 1000)

# printing result
print("New resulting array: ", result)

```

### Output:

```initial array [ 1  2 -3  4 -5 -6]
New resulting array:  [1 2 0 4 0 0]
```

## Numpy replace negative with 0 Using np.where

```# Python code to demonstrate
# to replace negative values with 0
import numpy as np

ini_array1 = np.array([1, 2, -3, 4, -5, -6])

# printing initial arrays
print("initial array", ini_array1)

# code to replace all negative value with 0
result = np.where(ini_array1<0, 0, ini_array1)

# printing result
print("New resulting array: ", result)
```

### Output:

```initial array [ 1  2 -3  4 -5 -6]
New resulting array:  [1 2 0 4 0 0]```

### Method #4: Comparing the given array with an array of zeros and write in the maximum value from the two arrays as the output

```# Python code to demonstrate
# to replace negative values with 0
import numpy as np

ini_array1 = np.array([1, 2, -3, 4, -5, -6])

# printing initial arrays
print("initial array", ini_array1)

# Creating a array of 0
zero_array = np.zeros(ini_array1.shape, dtype=ini_array1.dtype)
print("Zero array", zero_array)

# code to replace all negative value with 0
ini_array2 = np.maximum(ini_array1, zero_array)

# printing result
print("New resulting array: ", ini_array2)
```

### Output:

```initial array [ 1  2 -3  4 -5 -6]
Zero array [0 0 0 0 0 0]
New resulting array:  [1 2 0 4 0 0]
```

## Replace negative values in an numpy array

### StackOverflow question

Is there a simple way of replacing all negative values in an array with 0?

I'm having a complete block on how to do it using a NumPy array.

E.g.

``````a = array([1, 2, 3, -4, 5])
``````

I need to return

``````[1, 2, 3, 0, 5]
``````

`a < 0` gives:

``````[False, False, False, True, False]
``````

This is where I'm stuck - how to use this array to modify the original array.

```In : a[a < 0] = 0