Change language

Replace negative value with zero in Numpy array

| |

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.

Answer:

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

In [5]: a
Out[5]: array([1, 2, 3, 0, 5])

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method