插值 (scipy.interpolate)#

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

类型

例程

连续性

注释

1D

线性

numpy.interp

分段连续

来自 numpy

三次样条

CubicSpline

二阶导数

单调三次样条

PchipInterpolator

一阶导数

非超调

非三次样条

make_interp_spline

(k-1) 阶导数

k=3 等效于 CubicSpline

最近邻

interp1d

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

N-D 曲线

最近邻、线性、样条

make_interp_spline

(k-1) 阶导数

使用 N 维 y 数组

N-D 规则(直线)网格

最近邻

RegularGridInterpolator

method=’nearest’

线性

method=’linear’

样条

二阶导数

method=’cubic’, ‘quintic’

单调样条

一阶导数

method=’pchip’

N-D 散点

最近邻

NearestNDInterpolator

别名:griddata

线性

LinearNDInterpolator

三次(仅 2D)

CloughTocher2DInterpolator

一阶导数

径向基函数

RBFInterpolator

对于数据平滑,提供了基于 FORTRAN 库 FITPACK 的使用三次样条对 1 和 2 维数据进行平滑的函数

此外,还提供了使用径向基函数和多个核进行插值/平滑的例程。

更多详细信息在以下链接中给出。