插值 (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 1-D 单调三次插值。

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-D 散点数据到 M-D 域的径向基函数插值的类。

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

对于网格上的数据:

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, ...])

对给定数据点的1-D平滑样条拟合。

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

1-D 插值样条曲线用于给定的一组数据点。

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

带有显式内部节点的1-D样条。

2-D 样条曲线#

对于网格上的数据:

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])

返回多项式的Pade近似,作为两个多项式的比率。

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