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 的值可以按任何顺序排列,并且这些值也将首先排序。