插值 (scipy.interpolate)#

用于插值的对象的子包。

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

单变量插值#

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

插值一个一维函数。

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

一组点的插值多项式。

KroghInterpolator(xi, yi[, axis])

一组点的插值多项式。

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

多项式插值的便捷函数。

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

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

FloaterHormannInterpolator(points, values, *)

Floater-Hormann 重心有理插值。

多变量插值#

非结构化数据

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

已在版本 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 控制曲线平滑度和其与数据接近程度之间权衡的平滑三次样条函数(的系数)。

generate_knots(x, y, *[, w, xb, xe, k, s, nest])

复制 FITPACK 的构造节点向量。

make_splrep(x, y, *[, w, xb, xe, k, s, t, nest])

查找一维函数的 B 样条表示。

make_splprep(x, *[, w, u, ub, ue, k, s, t, nest])

查找参数化 N-D 曲线的平滑 B 样条表示。

FITPACK 例程的功能接口

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

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

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

查找 N-D 曲线的 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 样条及其导数。

有理逼近#

pade(an,  m[,  n])

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

AAA(x,  y,  *[,  rtol,  max_terms,  clean_up,  ...])

AAA 实数或复数有理逼近。

其他工具#

lagrange(x,  w)

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

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

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

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