Python外推错误

Python外推错误,python,interpolation,Python,Interpolation,我正在尝试对2D数据进行插值,但不断出现错误无法将字符串转换为浮点:“extraction”。我非常确定我得到的误差值不在我用于插值的间隔之外 我只是发布我的具体示例,因为为了帮助我解决错误,您不需要理解我使用的特定函数 from scipy.interpolate import interp2d import numpy as np import scipy.stats as si import math as m def C_prime_function(M,v): return

我正在尝试对2D数据进行插值,但不断出现错误
无法将字符串转换为浮点:“extraction”
。我非常确定我得到的误差值不在我用于插值的间隔之外

我只是发布我的具体示例,因为为了帮助我解决错误,您不需要理解我使用的特定函数

from scipy.interpolate import interp2d
import numpy as np
import scipy.stats as si
import math as m

def C_prime_function(M,v):
    return si.norm.cdf(M/v + v/2) - m.exp(-M)*si.norm.cdf(M/v - v/2)
    
C_prime_function_vectorized = np.vectorize(C_prime_function)

x_coarse = np.arange(0.000001,5.5,0.5)
y_coarse = np.arange(-0.5,0.6,0.1)
v_coarse, M_coarse = np.meshgrid(x_coarse,y_coarse)
C_prime_true = C_prime_function_vectorized(M_coarse,v_coarse)

f = interp2d(v_coarse,M_coarse,C_prime_true,kind='linear',fill_value='extrapolate')

print(f(0.000001,0.5))
因此,我认为对于
fill\u value='extraction'
Python,它会自动外推接近/超出间隔的数据。但是,即使对于
fill\u value='nan'
(我读到的应该会导致自动外推),这也不起作用

问候

Felix

试试这个

f = interp2d(v_coarse,M_coarse,C_prime_true,kind='linear',bounds_error = False)
然后打印代码

[0.39339549]
fill\u value
应省略,或者根据


还有一件事——如果您想显式地将默认值传递给
fill value
,它不是
fill\u value='nan'
,而是
fill\u value=None
,这是在Python中传递空值的方法(而
'nan'
只是一个字符串)。您仍然需要
bounds\u error=False
,尽管我建议
fill\u value=np.nan
而不是
None
,这样可以在不引发错误的情况下执行进一步的计算。