SciPy python 库的 scipy.interpolate.interp1d 类有什么用?
SciPy 库的scipy.interpolate.interp1d(x, y, kind, axis, copy, bounds_error, fill_value, assumesorted)类,顾名思义,用于插值一维函数。这里,x 和 y 是用于逼近某个函数的值数组,比如 f;y= f(x). 此类的输出是一个函数,其调用方法使用插值来查找新点的值。
下面给出了其参数的详细解释 -
参数
x - (N,) array_like
它是实数值的一维数组。
y - (…,N,…) array_like
它是一个实数值的 N 维数组。条件是y与插值轴的长度应等于x的长度。
kind - str 或 int,可选
顾名思义,这个参数指定了插值的种类。它可以是字符串或整数。如果您要提供字符串,则它必须是以下之一 -
线性
最近的
最近的
零
线性的
二次的
立方体
以前的
下一个
此参数的默认值为“线性”。
轴- 整数,可选
顾名思义,这个参数指定了我们需要插值的 y 轴。
复制- 布尔值,可选
此参数如果为真,则用于制作 x 和 y 的内部副本。另一方面,如果此参数的值为 false,则使用 x 和 y 的引用。此参数的默认值为“True”。
bounds_error - 布尔值,可选
此参数(如果为 true)用于在尝试对 x 范围之外的值进行插值时引发 ValueError。和y。另一方面,如果此参数的值为 false,则为超出范围的值分配 fill_value。默认情况下,除非 fill_value = “extrapolate”,否则此参数将引发错误。
fill_value - 类似数组或(类似数组,类似数组)或“外推”,可选
fill_value 参数有以下三种情况 -
ndarray 或 float - 如果这将是 ndarry 或 float,则该值将用于填充数据范围之外的请求点。默认值为 NaN。
双元素元组- 如果这将是一个双元素元组,则两个元素将以不同的方式使用。第一个元素将用作 x_new < x[0] 的填充值。第二个元素将用于 x_new > x[-1]。
外推- 如果我们提供“外推”,数据范围之外的点将被概括或外推。
假设排序- 布尔值,可选
如果此参数的值为真,则 x 的值应为单调递增值的数组。另一方面,如果此参数的值为 false,则 x 的值可以按任何顺序排列,并且这些值也将首先排序。