-2

在列表中,我需要找到最接近的匹配值(例如:1000)。 在此处输入图像描述

说清楚:(图)列表值绘制时。当我使用 StackOverflow 中的旧解决方案时,例如 findnearest,takeclosest 每个结果,仅显示一个索引值 = 3675(一侧)。我需要两个侧翼的价值。即对于 1000 个索引值应显示 [2600 和 3675]。我试过:将数据分成两半,每次记下索引值(每个翼侧)。代码:

import numpy as np
def find_nearest(array, value):
    array = np.asarray(array)
    idx = (np.abs(array - value)).argmin()
    return array[idx]
# Above code from stack overflow

a= np.where(min(alt)==alt))
x1=find_nearest(alt[alt[0]:alt[a]],1000)
x2=find_nearest(alt[alt[a]:alt[-1]],1000)
x1,x2 are two wing side values.

或者有没有更快的方法。

谢谢你

4

1 回答 1

0

您可以尝试使用以下numpy.where()方法:

idxs = np.where(yvals == 1000)

这将返回一个包含yvals1000 的所有实例的 numpy 数组。

然后您可以获得xvals这些索引的。

xvals_seeked = xvals[idxs]
于 2020-09-01T17:21:52.380 回答