例如,我有以下数组:
x = [0, 1, 2, 3, 4.5, 5]
y = [2, 8, 3, 7, 8, 1]
我希望能够做到以下几点x
:
>>> what_is_y_when_x_is(2)
(2, 3)
>>> what_is_y_when_x_is(3.1) # Perhaps set rules to round to nearest (or up or down)
(3, 7)
另一方面,当给定时y
:
>>> what_is_x_when_y_is(2)
(0, 2)
>>> what_is_x_when_y_is(max(y))
([1, 4.5], 8)
这个问题的情况
我可以绘制y
与x
使用封闭分析函数的对比,只需调用foo_function(x)
. 但是,我正在运行其数据图没有封闭解析解的数值模拟。
尝试的解决方案
我以前解决过类似的问题,并大致以这种方式处理它们:
what_is_y_when_x_is(some_x)
- 在数组
x
中搜索some_x
。 - 获取它的索引,
i
. - 拿起
y[i]
。
问题
有一个更好的方法吗?也许是内置numpy
函数或更好的算法?