在numpy数组中找到最近的值是否有一种非常规的方法,例如函数,可以找到最近值在数组里?例子:np.find_nearest( array, value )
3 回答
慕仙森
TA贡献1827条经验 获得超7个赞
import numpy as np
def find_nearest(array, value):
array = np.asarray(array)
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
缥缈止盈
TA贡献2041条经验 获得超4个赞
如果
def find_nearest(array,value): idx = np.searchsorted(array, value, side="left") if idx > 0 and (idx == len(array) or math.fabs(value - array[idx-1]) < math.fabs(value - array[idx])): return array[idx-1] else: return array[idx]
富国沪深
TA贡献1790条经验 获得超9个赞
def find_nearest(a, a0): "Element in nd array `a` closest to the scalar value `a0`" idx = np.abs(a - a0).argmin() return a.flat[idx]
a.flat[np.abs(a - a0).argmin()]
添加回答
举报
0/150
提交
取消