插值 (scipy.interpolate)#

SciPy 中提供了几种通用的工具,用于对一维、二维和更高维的数据进行插值和平滑。选择特定的插值例程取决于数据:数据是一维的、在结构化网格上给出,还是非结构化的。另一个因素是插值器的平滑度。简而言之,推荐用于插值的例程可以总结如下

种类

例程

连续性

注释

一维

线性

numpy.interp

分段连续

来自 numpy

三次样条

CubicSpline

二阶导数

单调三次样条

PchipInterpolator

一阶导数

无超调

非三次样条

make_interp_spline

(k-1)阶导数

k=3 等效于 CubicSpline

最近

interp1d

kind=’nearest’, ‘previous’, ‘next’

N 维曲线

nearest, linear, spline

make_interp_spline

(k-1)阶导数

使用 N 维 y 数组

N 维规则(直线)网格

最近

RegularGridInterpolator

method=’nearest’

线性

method=’linear’

样条

二阶导数

method=’cubic’, ‘quintic’

单调样条

一阶导数

method=’pchip’

N 维散乱数据

最近

NearestNDInterpolator

别名:griddata

线性

LinearNDInterpolator

三次(仅限二维)

CloughTocher2DInterpolator

一阶导数

径向基函数

RBFInterpolator

对于数据平滑,提供了函数 用于一维和二维数据使用三次样条,基于 FORTRAN 库 FITPACK。

此外,还提供了例程,用于使用径向基函数 进行插值/平滑,这些函数具有多个核。

在下面的链接中提供了更多详细信息。