插值 (scipy.interpolate)#

用于插值的物件子套件。

如以下所列,此子套件包含样条函数和类、一维和多维(单变量和多变量)插值类、拉格朗日和泰勒多项式插值器,以及 FITPACK 和 DFITPACK 函数的包装器。

单变量插值#

interp1d(x, y[, kind, axis, copy, ...])

插值一维函数。

BarycentricInterpolator(xi[, yi, axis, wi, ...])

一组点的插值多项式。

KroghInterpolator(xi, yi[, axis])

一组点的插值多项式。

barycentric_interpolate(xi, yi, x[, axis, der])

多项式插值的便利函数。

krogh_interpolate(xi, yi, x[, der, axis])

多项式插值的便利函数。

pchip_interpolate(xi, yi, x[, der, axis])

PCHIP 插值的便利函数。

CubicHermiteSpline(x, y, dydx[, axis, ...])

匹配值和一阶导数的分段三次插值器。

PchipInterpolator(x, y[, axis, extrapolate])

PCHIP 一维单调三次插值。

Akima1DInterpolator(x, y[, axis, method, ...])

Akima 插值器

CubicSpline(x, y[, axis, bc_type, extrapolate])

三次样条数据插值器。

PPoly(c, x[, extrapolate, axis])

根据系数和断点表示的分段多项式

BPoly(c, x[, extrapolate, axis])

根据系数和断点表示的分段多项式。

多变量插值#

非结构化数据

griddata(points, values, xi[, method, ...])

插值非结构化的 D-D 数据。

LinearNDInterpolator(points, values[, ...])

N > 1 维的分段线性插值器。

NearestNDInterpolator(x, y[, rescale, ...])

NearestNDInterpolator(x, y)。

CloughTocher2DInterpolator(points, values[, ...])

CloughTocher2DInterpolator(points, values, tol=1e-6)。

RBFInterpolator(y, d[, neighbors, ...])

N 维径向基函数 (RBF) 插值。

Rbf(*args, **kwargs)

一个用于从 N 维离散数据到 M 维域的函数的径向基函数插值的类。

interp2d(x, y, z[, kind, copy, ...])

在 1.14.0 版中移除。

用于网格上的数据

interpn(points, values, xi[, method, ...])

规则或直线网格上的多维插值。

RegularGridInterpolator(points, values[, ...])

任意维规则或直线网格上的插值器。

RectBivariateSpline(x, y, z[, bbox, kx, ky, s])

矩形网格上的双变量样条逼近。

张量积多项式

NdPPoly(c, x[, extrapolate])

分段张量积多项式

NdBSpline(t, c, k, *[, extrapolate])

张量积样条对象。

一维样条#

BSpline(t, c, k[, extrapolate, axis])

B 样条基函数中的一维样条。

make_interp_spline(x, y[, k, t, bc_type, ...])

计算插值 B 样条的(系数)。

make_lsq_spline(x, y, t[, k, w, axis, ...])

计算基于 LSQ(最小二乘)拟合的 B 样条的(系数)。

make_smoothing_spline(x, y[, w, lam])

使用 lam 计算平滑三次样条函数的(系数),以控制曲线平滑度与其接近数据的程度之间的权衡。

FITPACK 例程的功能接口

splrep(x, y[, w, xb, xe, k, task, s, t, ...])

查找一维曲线的 B 样条表示。

splprep(x[, w, u, ub, ue, k, task, s, t, ...])

查找 N 维曲线的 B 样条表示。

splev(x, tck[, der, ext])

评估 B 样条或其导数。

splint(a, b, tck[, full_output])

评估 B 样条在两个给定点之间确定的积分。

sproot(tck[, mest])

查找三次 B 样条的根。

spalde(x, tck)

在一个点(或一组点)处评估 B 样条及其所有导数,直到 k 阶(样条的次数),其中 0 是样条本身。

splder(tck[, n])

计算给定样条导数的样条表示

splantider(tck[, n])

计算给定样条的反导数(积分)的样条。

insert(x, tck[, m, per])

在 B 样条曲线中插入节点。

面向对象的 FITPACK 接口

UnivariateSpline(x, y[, w, bbox, k, s, ext, ...])

一维平滑样条曲线拟合给定的一组数据点。

InterpolatedUnivariateSpline(x, y[, w, ...])

给定一组数据点的 一维插值样条曲线。

LSQUnivariateSpline(x, y, t[, w, bbox, k, ...])

具有显式内部节点的一维样条曲线。

二维样条曲线#

用于网格上的数据

RectBivariateSpline(x, y, z[, bbox, kx, ky, s])

矩形网格上的双变量样条逼近。

RectSphereBivariateSpline(u, v, r[, s, ...])

球体上矩形网格上的双变量样条曲线近似。

非结构化数据

BivariateSpline()

双变量样条曲线的基类。

SmoothBivariateSpline(x, y, z[, w, bbox, ...])

平滑双变量样条曲线近似。

SmoothSphereBivariateSpline(theta, phi, r[, ...])

球面坐标系中的平滑双变量样条曲线近似。

LSQBivariateSpline(x, y, z, tx, ty[, w, ...])

加权最小二乘双变量样条曲线近似。

LSQSphereBivariateSpline(theta, phi, r, tt, tp)

球面坐标系中的加权最小二乘双变量样条曲线近似。

FITPACK 函数的低级接口

bisplrep(x, y, z[, w, xb, xe, yb, ye, kx, ...])

查找表面的双变量 B 样条曲线表示。

bisplev(x, y, tck[, dx, dy])

计算双变量 B 样条曲线及其导数。

其他工具#

lagrange(x, w)

返回拉格朗日插值多项式。

approximate_taylor_polynomial(f, x, degree, ...)

通过多项式拟合估计 f 在 x 处的泰勒多项式。

pade(an, m[, n])

返回多项式的 Padé 近似作为两个多项式的比率。

pchipPchipInterpolator 的别名,用于向后兼容(不应在新代码中使用)。