Skip to content
Related Articles

Related Articles

Python | Replace negative value with zero in numpy array

View Discussion
Improve Article
Save Article
  • Last Updated : 17 Oct, 2019

Given numpy array, the task is to replace negative value with zero in numpy array. Let’s see a few examples of this problem.

Method #1: 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]

 
Method #2: 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 #3: 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]

 
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]

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!