RegularGridInterpolator 的问题 (Scipy) (Python)
Problems with RegularGridInterpolator (Scipy) (Python)
我在精确使用 scipy.interpolate.RegularGridInterpolant.More 时遇到问题,我无法使用输出的插值函数进行外推。在 documentation 中说如果 'fill value' 是 None,网格外的值是外推的,但它似乎不起作用。我想线性插值,我看到其他函数可以使用其他方法(最近邻或预定义值)进行推断。
这是一个带有虚拟数据的示例(不是我正在工作的数组,但情况相同)
import numpy as np
from scipy.interpolate import RegularGridInterpolator
x = np.array([11,22,33,44,55,66,77])
y = np.array([101,102,103,104,105,106,107])
z = np.random.rand(7,7)
x_new = np.array([1,12,23,34,45,56,67])
y_new = np.array([101,102,103,104,105,106,107])
interpolant_function = RegularGridInterpolator((x,y),z, fill_value = None)
result = interpolant_function((x_new,y_new))
此代码引发以下错误
raise ValueError("One of the requested xi is out of bounds "
ValueError: One of the requested xi is out of bounds in dimension 0
几天以来我一直卡住了,如果有人知道另一个功能可以做同样的事情并且运行良好,我很高兴听到它
我认为你需要添加“bounds_error=False”。
interpolant_function = RegularGridInterpolator((x,y),z, bounds_error=False, fill_value = None)
我在精确使用 scipy.interpolate.RegularGridInterpolant.More 时遇到问题,我无法使用输出的插值函数进行外推。在 documentation 中说如果 'fill value' 是 None,网格外的值是外推的,但它似乎不起作用。我想线性插值,我看到其他函数可以使用其他方法(最近邻或预定义值)进行推断。
这是一个带有虚拟数据的示例(不是我正在工作的数组,但情况相同)
import numpy as np
from scipy.interpolate import RegularGridInterpolator
x = np.array([11,22,33,44,55,66,77])
y = np.array([101,102,103,104,105,106,107])
z = np.random.rand(7,7)
x_new = np.array([1,12,23,34,45,56,67])
y_new = np.array([101,102,103,104,105,106,107])
interpolant_function = RegularGridInterpolator((x,y),z, fill_value = None)
result = interpolant_function((x_new,y_new))
此代码引发以下错误
raise ValueError("One of the requested xi is out of bounds "
ValueError: One of the requested xi is out of bounds in dimension 0
几天以来我一直卡住了,如果有人知道另一个功能可以做同样的事情并且运行良好,我很高兴听到它
我认为你需要添加“bounds_error=False”。
interpolant_function = RegularGridInterpolator((x,y),z, bounds_error=False, fill_value = None)