Hi, is there a numpy-thonic way, e.g. function, to find the 'nearest value' in an array? example:
np.find_nearest( array, value )
thanks in advance!
Hi, is there a numpy-thonic way, e.g. function, to find the 'nearest value' in an array? example:
np.find_nearest( array, value )
thanks in advance!
It helps if we first understand some more backround:
Personally I'd start with a method to calculate deviation from your current value. I'd then (depending on how the data is currently sorted) work out how most efficiently to search it to find the minimum distance.
import numpy as np
def find_nearest(array,value):
idx=(np.abs(array-value)).argmin()
return array[idx]
array=np.random.random(10)
print(array)
# [ 0.21069679 0.61290182 0.63425412 0.84635244 0.91599191 0.00213826
# 0.17104965 0.56874386 0.57319379 0.28719469]
value=0.5
print(find_nearest(array,value))
# 0.568743859261