Как отметил RishiG в комментариях, вы хотите сделать экстраполяцию.
объектно-ориентированный подход имеет дополнительный параметр для этого: ext
.
from scipy import interpolate
def f(x):
x_points = [38508, 38510, 38512]
y_points = [0.249267578125, 0.181396484375, 0.1912841796875]
tck = interpolate.splrep(x_points, y_points,k=2,xb=38508,xe=38512)
return interpolate.splev(x, tck)
def g(x):
x_points = [38508, 38510, 38512]
y_points = [0.249267578125, 0.181396484375, 0.1912841796875]
spl = interpolate.UnivariateSpline(x_points, y_points, k=2, ext=3)
return spl(x)
if __name__=='__main__':
print(f(38503))
print(g(38503))
Выход:
0.7591400146484374
0.249267578125
Edit:
Этот похожий вопрос также может быть интересным.