# 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.