Open In App

Python | Find elements within range in numpy

Last Updated : 12 Mar, 2019
Comments
Improve
Suggest changes
Like Article
Like
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]


Next Article
Article Tags :
Practice Tags :

Similar Reads