Interpolation (scipy.interpolate)

Univariate interpolation

interp1d Interpolate a 1D function.
BarycentricInterpolator The interpolating polynomial for a set of points
KroghInterpolator The interpolating polynomial for a set of points
PiecewisePolynomial Piecewise polynomial curve specified by points and derivatives
barycentric_interpolate (xi, yi, x) Convenience function for polynomial interpolation
krogh_interpolate (xi, yi, x[, der]) Convenience function for polynomial interpolation.
piecewise_polynomial_interpolate (xi, yi, x[, orders, der]) Convenience function for piecewise polynomial interpolation

Multivariate interpolation

interp2d (x, y, z[, kind, copy, bounds_error, ...]) Interpolate over a 2D grid.
Rbf (*args) A class for radial basis function approximation/interpolation of n-dimensional scattered data.

1-D Splines

UnivariateSpline Univariate spline s(x) of degree k on the interval [xb,xe] calculated from a given set of data points (x,y).
InterpolatedUnivariateSpline Interpolated univariate spline approximation. Identical to UnivariateSpline with less error checking.
LSQUnivariateSpline Weighted least-squares univariate spline approximation. Appears to be identical to UnivariateSpline with more error checking.

The above univariate spline classes have the following methods:

UnivariateSpline.__call__ (self, x[, nu]) Evaluate spline (or its nu-th derivative) at positions x. Note: x can be unordered but the evaluation is more efficient if x is (partially) ordered.
UnivariateSpline.derivatives (self, x) Return all derivatives of the spline at the point x.
UnivariateSpline.integral (self, a, b) Return definite integral of the spline between two given points.
UnivariateSpline.roots (self) Return the zeros of the spline.
UnivariateSpline.get_coeffs (self) Return spline coefficients.
UnivariateSpline.get_knots (self) Return the positions of (boundary and interior) knots of the spline.
UnivariateSpline.get_residual (self) 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 (self, s) Continue spline computation with the given smoothing factor s and with the knots found at the last call.

Low-level interface to FITPACK functions:

splrep (x, y[, w, xb, xe, k, task, ...]) Find the B-spline representation of 1-D curve.
splprep (x[, w, u, ub, ue, k, ...]) Find the B-spline representation of an N-dimensional curve.
splev (x, tck[, der]) Evaulate a B-spline and 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.
bisplrep (x, y, z[, w, xb, xe, yb, ye, ...]) Find a bivariate B-spline representation of a surface.
bisplev (x, y, tck[, dx, dy]) Evaluate a bivariate B-spline and its derivatives.

2-D Splines

See also

scipy.ndimage.map_coordinates

BivariateSpline Bivariate spline s(x,y) of degrees kx and ky on the rectangle [xb,xe] x [yb, ye] calculated from a given set of data points (x,y,z).
SmoothBivariateSpline Smooth bivariate spline approximation.
LSQBivariateSpline Weighted least-squares spline approximation. See also:

Low-level interface to FITPACK functions:

bisplrep (x, y, z[, w, xb, xe, yb, ye, ...]) 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 the Lagrange interpolating polynomial of the data-points (x,w)
approximate_taylor_polynomial (f, x, degree, scale[, order]) Estimate the Taylor polynomial of f at x by polynomial fitting