插值 (scipy.interpolate)#

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

类型

例程

连续性

注释

1D

线性

numpy.interp

分段连续

或者,可以使用 make_interp_spline(..., k=1)

三次样条

CubicSpline

二阶导数

单调三次样条

PchipInterpolator

一阶导数

不超调

非三次样条

make_interp_spline

(k-1) 阶导数

k=3 等价于 CubicSpline

最近邻

interp1d

类型为 ‘nearest’、‘previous’、‘next’

N 维曲线

最近邻、线性、样条

make_interp_spline

(k-1) 阶导数

使用 N 维 y 数组

N 维规则(直线)网格

最近邻

RegularGridInterpolator

方法为 ‘nearest’

线性

方法为 ‘linear’

样条

二阶导数

方法为 ‘cubic’、‘quintic’

单调样条

一阶导数

方法为 ‘pchip’

N 维散点

最近邻

NearestNDInterpolator

别名: griddata

线性

LinearNDInterpolator

三次 (仅限 2D)

CloughTocher2DInterpolator

一阶导数

径向基函数

RBFInterpolator

数据的平滑和近似#

1D 样条函数

make_smoothing_spline

经典平滑样条,GVC 惩罚

make_splrep

自动/半自动节点选择

N 维中的样条曲线

make_splprep

无约束最小二乘样条拟合

make_lsq_spline

2D 平滑曲面

bisplrep

散点数据

RectBivariateSpline

网格数据

N 维中的径向基函数

RBFInterpolator

以下链接提供了更多详细信息