我有一个查找表,其定义如下:
| <1 2 3 4 5+
-------|----------------------------
<10000 | 3.6 6.5 9.1 11.5 13.8
20000 | 3.9 7.3 10.0 13.1 15.9
20000+ | 4.5 9.2 12.2 14.8 18.2
TR_ua1 = np.array([ [3.6, 6.5, 9.1, 11.5, 13.8],
[3.9, 7.3, 10.0, 13.1, 15.9],
[4.5, 9.2, 12.2, 14.8, 18.2] ])
Run Code Online (Sandbox Code Playgroud)
用户将输入值示例(1.3,25,000),(0.2,50,000),依此类推.scipy.interpolate()应进行插值以确定正确的值.
目前,我能做到这一点的唯一方法是使用一堆if/ elifs如下所示.我很确定有更好,更有效的方法
这是我到目前为止所得到的:
import numpy as np
from scipy import interpolate
if (ua == 1):
if (inc <= low_inc): # low_inc = 10,000
if …Run Code Online (Sandbox Code Playgroud)