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 |
KroghInterpolator(xi, yi[, axis]) | Interpolating polynomial for a set of points. |
PiecewisePolynomial(xi, yi[, orders, ...]) | Piecewise polynomial curve specified by points and derivatives |
PchipInterpolator(x, y[, axis, extrapolate]) | PCHIP 1-d monotonic cubic interpolation |
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) | Akima interpolator |
PPoly(c, x[, extrapolate]) | Piecewise polynomial in terms of coefficients and breakpoints |
BPoly(c, x[, extrapolate]) | Piecewise polynomial in terms of coefficients and breakpoints |
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 |
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]) | One-dimensional smoothing spline fit to a given set of data points. |
InterpolatedUnivariateSpline(x, y[, w, bbox, k]) | 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. |
The above univariate spline classes have the following methods:
UnivariateSpline.__call__(x[, nu]) | Evaluate spline (or its nu-th derivative) at positions x. |
UnivariateSpline.derivatives(x) | Return all derivatives of the spline at the point x. |
UnivariateSpline.integral(a, b) | Return definite integral of the spline between two given points. |
UnivariateSpline.roots() | Return the zeros of the spline. |
UnivariateSpline.derivative([n]) | Construct a new spline representing the derivative of this spline. |
UnivariateSpline.antiderivative([n]) | Construct a new spline representing the antiderivative of this spline. |
UnivariateSpline.get_coeffs() | Return spline coefficients. |
UnivariateSpline.get_knots() | Return positions of (boundary and interior) knots of the spline. |
UnivariateSpline.get_residual() | Return weighted sum of squared residuals of the spline approximation: sum((w[i] * (y[i]-s(x[i])))**2, axis=0). |
UnivariateSpline.set_smoothing_factor(s) | Continue spline computation with the given smoothing factor s and with the knots found at the last call. |
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 |
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. |
Additional tools¶
lagrange(x, w) | Return a Lagrange interpolating polynomial. |
approximate_taylor_polynomial(f, x, degree, ...) | Estimate the Taylor polynomial of f at x by polynomial fitting. |
See also
scipy.ndimage.interpolation.map_coordinates, scipy.ndimage.interpolation.spline_filter, scipy.signal.resample, scipy.signal.bspline, scipy.signal.gauss_spline, scipy.signal.qspline1d, scipy.signal.cspline1d, scipy.signal.qspline1d_eval, scipy.signal.cspline1d_eval, scipy.signal.qspline2d, scipy.signal.cspline2d.