SciPy

Interpolation (scipy.interpolate)

Sub-package for objects used in interpolation.

As listed below, this sub-package contains spline functions and classes, one-dimensional and multi-dimensional (univariate and multivariate) interpolation classes, Lagrange and Taylor polynomial interpolators, and wrappers for FITPACK and DFITPACK functions.

Univariate interpolation

interp1d(x, y[, kind, axis, copy, ...]) Interpolate a 1-D function.
BarycentricInterpolator(xi[, yi, axis]) The interpolating polynomial for a set of points Constructs a polynomial that passes through a given set of points.
KroghInterpolator(xi, yi[, axis]) Interpolating polynomial for a set of points.
PiecewisePolynomial(xi, yi[, orders, ...]) Piecewise polynomial curve specified by points and derivatives This class represents a curve that is a piecewise polynomial.
PchipInterpolator(x, y[, axis, extrapolate]) PCHIP 1-d monotonic cubic interpolation x and y are arrays of values used to approximate some function f, with y = f(x).
barycentric_interpolate(xi, yi, x[, axis]) Convenience function for polynomial interpolation.
krogh_interpolate(xi, yi, x[, der, axis]) Convenience function for polynomial interpolation.
piecewise_polynomial_interpolate(xi, yi, x) Convenience function for piecewise polynomial interpolation.
pchip_interpolate(xi, yi, x[, der, axis]) Convenience function for pchip interpolation.
Akima1DInterpolator(x, y[, axis]) Akima interpolator Fit piecewise cubic polynomials, given vectors x and y.
PPoly(c, x[, extrapolate, axis]) Piecewise polynomial in terms of coefficients and breakpoints The polynomial in the ith interval is x[i] <= xp < x[i+1]:: S = sum(c[m, i] * (xp - x[i])**(k-m) for m in range(k+1)) where k is the degree of the polynomial.
BPoly(c, x[, extrapolate, axis]) Piecewise polynomial in terms of coefficients and breakpoints The polynomial in the i-th interval x[i] <= xp < x[i+1] is written in the Bernstein polynomial basis:: S = sum(c[a, i] * b(a, k; x) for a in range(k+1)) where k is the degree of the polynomial, and:: b(a, k; x) = comb(k, a) * t**k * (1 - t)**(k - a) with t = (x - x[i]) / (x[i+1] - x[i]).

Multivariate interpolation

Unstructured data:

griddata(points, values, xi[, method, ...]) Interpolate unstructured D-dimensional data.
LinearNDInterpolator(points, values[, ...]) Piecewise linear interpolant in N dimensions.
NearestNDInterpolator(points, values) Nearest-neighbour interpolation in N dimensions.
CloughTocher2DInterpolator(points, values[, tol]) Piecewise cubic, C1 smooth, curvature-minimizing interpolant in 2D.
Rbf(*args) A class for radial basis function approximation/interpolation of n-dimensional scattered data.
interp2d(x, y, z[, kind, copy, ...]) Interpolate over a 2-D grid.

For data on a grid:

interpn(points, values, xi[, method, ...]) Multidimensional interpolation on regular grids.
RegularGridInterpolator(points, values[, ...]) Interpolation on a regular grid in arbitrary dimensions The data must be defined on a regular grid; the grid spacing however may be uneven.
RectBivariateSpline(x, y, z[, bbox, kx, ky, s]) Bivariate spline approximation over a rectangular mesh.

1-D Splines

UnivariateSpline(x, y[, w, bbox, k, s, ext, ...]) One-dimensional smoothing spline fit to a given set of data points.
InterpolatedUnivariateSpline(x, y[, w, ...]) One-dimensional interpolating spline for a given set of data points.
LSQUnivariateSpline(x, y, t[, w, bbox, k, ...]) One-dimensional spline with explicit internal knots.

Functional interface to FITPACK functions:

splrep(x, y[, w, xb, xe, k, task, s, t, ...]) Find the B-spline representation of 1-D curve.
splprep(x[, w, u, ub, ue, k, task, s, t, ...]) Find the B-spline representation of an N-dimensional curve.
splev(x, tck[, der, ext]) Evaluate a B-spline or its derivatives.
splint(a, b, tck[, full_output]) Evaluate the definite integral of a B-spline.
sproot(tck[, mest]) Find the roots of a cubic B-spline.
spalde(x, tck) Evaluate all derivatives of a B-spline.
splder(tck[, n]) Compute the spline representation of the derivative of a given spline :Parameters: tck : tuple of (t, c, k) Spline whose derivative to compute n : int, optional Order of derivative to evaluate.
splantider(tck[, n]) Compute the spline for the antiderivative (integral) of a given spline.

2-D Splines

For data on a grid:

RectBivariateSpline(x, y, z[, bbox, kx, ky, s]) Bivariate spline approximation over a rectangular mesh.
RectSphereBivariateSpline(u, v, r[, s, ...]) Bivariate spline approximation over a rectangular mesh on a sphere.

For unstructured data:

BivariateSpline Base class for bivariate splines.
SmoothBivariateSpline(x, y, z[, w, bbox, ...]) Smooth bivariate spline approximation.
SmoothSphereBivariateSpline(theta, phi, r[, ...]) Smooth bivariate spline approximation in spherical coordinates.
LSQBivariateSpline(x, y, z, tx, ty[, w, ...]) Weighted least-squares bivariate spline approximation.
LSQSphereBivariateSpline(theta, phi, r, tt, tp) Weighted least-squares bivariate spline approximation in spherical coordinates.

Low-level interface to FITPACK functions:

bisplrep(x, y, z[, w, xb, xe, yb, ye, kx, ...]) Find a bivariate B-spline representation of a surface.
bisplev(x, y, tck[, dx, dy]) Evaluate a bivariate B-spline and its derivatives.