### Table Of Contents

- Interpolation (`scipy.interpolate`)
  - Univariate interpolation
  - Multivariate interpolation
  - 1-D Splines
  - 2-D Splines
  - Additional tools

#### Previous topic

scipy.integrate.solve_bvp

#### Next topic

scipy.interpolate.interp1d

# 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.
`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.
`pchip_interpolate`(xi, yi, x[, der, axis]) | Convenience function for pchip interpolation.
`Akima1DInterpolator`(x, y[, axis]) | Akima interpolator
`CubicSpline`(x, y[, axis, bc_type, extrapolate]) | Cubic spline data interpolator.
`PPoly`(c, x[, extrapolate, axis]) | Piecewise polynomial in terms of coefficients and breakpoints
`BPoly`(c, x[, extrapolate, axis]) | 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.

See also

`scipy.ndimage.map_coordinates`

Tensor product polynomials:

`NdPPoly`(c, x[, extrapolate]) | Piecewise tensor product polynomial

## 1-D Splines

`BSpline`(t, c, k[, extrapolate, axis]) | Univariate spline in the B-spline basis.
`make_interp_spline`(x, y[, k, t, bc_type, ...]) | Compute the (coefficients of) interpolating B-spline.
`make_lsq_spline`(x, y, t[, k, w, axis, ...]) | Compute the (coefficients of) an LSQ B-spline.

Functional interface to FITPACK routines:

`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 between two given points.
`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.
`insert`(x, tck[, m, per]) | Insert knots into a B-spline.

Object-oriented FITPACK interface:

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

## 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.
`pade`(an, m) | Return Pade approximation to a polynomial as the ratio of two polynomials.

See also

`scipy.ndimage.map_coordinates`, `scipy.ndimage.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`.

Functions existing for backward compatibility (should not be used in new code):

`ppform`(coeffs, breaks[, fill, sort]) | Deprecated piecewise polynomial class.
`spleval`(*args, **kwds) | `spleval` is deprecated!
`spline`(*args, **kwds) | `spline` is deprecated!
`splmake`(*args, **kwds) | `splmake` is deprecated!
`spltopp`(*args, **kwds) | `spltopp` is deprecated!
`pchip` | alias of `PchipInterpolator`