插值 (scipy.interpolate)#

SciPy 提供了多种用于 1 维、2 维及更高维度数据插值和平滑的通用功能。特定插值例程的选择取决于数据:数据是否为一维、是否在结构化网格上给出,或是否是非结构化的。另一个因素是插值器所需的平滑度。简而言之,*建议用于插值*的例程可以总结如下:

类型

例程

连续性

备注

1D

线性

numpy.interp

分段连续

或者,make_interp_spline(..., k=1)

三次样条

CubicSpline

二阶导数

单调三次样条

PchipInterpolator

一阶导数

无超调

非三次样条

make_interp_spline

(k-1)阶导数

k=3 等同于 CubicSpline

最近邻

interp1d

kind='nearest', 'previous', 'next'

N维曲线

最近邻, 线性, 样条

make_interp_spline

(k-1)阶导数

使用 N 维 y 数组

N维规则(直线)网格

最近邻

RegularGridInterpolator

method='nearest'

线性

method='linear'

样条

二阶导数

method='cubic', 'quintic'

单调样条

一阶导数

method='pchip'

N维散点

最近邻

NearestNDInterpolator

别名: griddata

线性

LinearNDInterpolator

三次 (仅限 2D)

CloughTocher2DInterpolator

一阶导数

径向基函数

RBFInterpolator

数据平滑和近似#

一维样条函数

make_smoothing_spline

经典平滑样条,GCV 罚项

make_splrep

自动/半自动节点选择

N维样条曲线

make_splprep

无约束最小二乘样条拟合

make_lsq_spline

二维平滑曲面

bisplrep

散点数据

RectBivariateSpline

网格数据

N维径向基函数

RBFInterpolator

更多详情请参阅以下链接