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,可选

顾名思义,此参数指定插值类型。它可以是字符串或整数。如果要提供字符串,则它必须是以下之一:

  • linear(线性)

  • nearest(最近邻)

  • nearest-up(向上最近邻)

  • zero(零阶)

  • slinear(线性样条)

  • quadratic(二次)

  • cubic(三次)

  • previous(前一个)

  • next(下一个)

此参数的默认值为“linear”(线性)。

  • axis − int,可选

    顾名思义,此参数指定需要进行插值的y轴。

  • copy − bool,可选

    如果此参数为True,则用于创建x和y的内部副本。另一方面,如果此参数的值为False,则使用x和y的引用。此参数的默认值为“True”。

  • bounds_error − bool,可选

    如果此参数为True,则在尝试对x和y范围之外的值进行插值时,会引发ValueError。另一方面,如果此参数的值为False,则超出范围的值将被赋值为fill_value。默认情况下,除非fill_value = “extrapolate”,否则此参数将引发错误。

  • fill_value − array-like 或 (array-like, array_like) 或 “extrapolate”,可选

fill_value参数有以下三种情况:

  • ndarray 或 float− 如果这是一个ndarray或float,则该值将用于填充请求的超出数据范围的点。默认值为NaN。

  • 两个元素的元组− 如果这是一个两个元素的元组,则两个元素将以不同的方式使用。第一个元素将用作x_new < x[0]的填充值。第二个元素将用于x_new > x[-1]。

  • Extrapolate− 如果我们提供“extrapolate”,则将对数据范围之外的点进行泛化或外推。

  • assume_sorted − bool,可选

    如果此参数的值为True,则x的值应为单调递增值的数组。另一方面,如果此参数的值为False,则x的值可以是任何顺序,并且这些值将首先被排序。

更新于:2021年12月14日

245 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告