Open In App

Python | Find elements within range in numpy

Improve
Improve
Like Article
Like
Save
Share
Report

Given numpy array, the task is to find elements within some specific range. Let’s discuss some ways to do the task.
 
Method #1: Using np.where()




# python code to demonstrate
# finding elements in range
# in numpy array
import numpy as np
  
ini_array = np.array([1, 2, 3, 45, 4, 7, 810, 9, 6])
  
# printing initial array
print("initial_array : ", str(ini_array));
  
# find elements in range 6 to 10
result = np.where(np.logical_and(ini_array>= 6, ini_array<= 10))
  
# printing result
print("resultant_array : ", result)


Output:

initial_array :  [  1   2   3  45   4   7 810   9   6]
resultant_array :  (array([5, 7, 8]),)

 
Method #2: Using numpy.searchsorted()




# Python code to demonstrate
# finding elements in range
# in numpy array
  
import numpy as np
  
ini_array = np.array([1, 2, 3, 45, 4, 7, 9, 6])
  
# printing initial array
print("initial_array : ", str(ini_array));
  
  
# find elements in range 6 to 10
start = np.searchsorted(ini_array, 6, 'left')
end = np.searchsorted(ini_array, 10, 'right')
result = np.arange(start, end)
  
# printing result
print("resultant_array : ", result)


Output:

initial_array :  [ 1  2  3 45  4  7  9  6]
resultant_array :  [5 6 7]

 
Method #3: Using *




# Python code to demonstrate
# finding elements in range
# in numpy array
  
import numpy as np
  
ini_array = np.array([1, 2, 3, 45, 4, 7, 9, 6])
  
# printing initial array
print("initial_array : ", str(ini_array));
  
  
# find elements in range 6 to 10
result = ini_array[(ini_array>6)*(ini_array<10)]
  
# printing result
print("resultant_array : ", result)


Output:

initial_array :  [ 1  2  3 45  4  7  9  6]
resultant_array :  [7 9]


Last Updated : 12 Mar, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads