Interpolation (scipy.interpolate) — SciPy v1.15.3 Manual (original) (raw)
There are several general facilities available in SciPy for interpolation and smoothing for data in 1, 2, and higher dimensions. The choice of a specific interpolation routine depends on the data: whether it is one-dimensional, is given on a structured grid, or is unstructured. One other factor is the desired smoothness of the interpolator. In short, routines recommended for interpolation can be summarized as follows:
kind | routine | continuity | comment | |
---|---|---|---|---|
1D | linear | numpy.interp | piecewise continuous | Alternatively,make_interp_spline(..., k=1) |
cubic spline | CubicSpline | 2nd derivative | ||
monotone cubic spline | PchipInterpolator | 1st derivative | non-overshooting | |
non-cubic spline | make_interp_spline | (k-1)th derivative | k=3 is equivalent to CubicSpline | |
nearest | interp1d | kind=’nearest’, ‘previous’, ‘next’ | ||
N-D curve | nearest, linear, spline | make_interp_spline | (k-1)th derivative | use N-dim y array |
N-D regular (rectilinear) grid | nearest | RegularGridInterpolator | method=’nearest’ | |
linear | method=’linear’ | |||
splines | 2nd derivatives | method=’cubic’, ‘quintic’ | ||
monotone splines | 1st derivatives | method=’pchip’ | ||
N-D scattered | nearest | NearestNDInterpolator | alias: griddata | |
linear | LinearNDInterpolator | |||
cubic (2D only) | CloughTocher2DInterpolator | 1st derivatives | ||
radial basis function | RBFInterpolator |
Smoothing and approximation of data#
1D spline functions | make_smoothing_spline | classic smoothing splines, GVC penalty |
---|---|---|
make_splrep | automated/semi-automated knot selection | |
spine curves in N-D | make_splprep | |
unconstrained least squares spline fit | make_lsq_spline | |
2D smoothing surfaces | bisplrep | scattered data |
RectBivariateSpline | gridded data | |
Radial basis functions in N-D | RBFInterpolator |
Further details are given in the links below
- 1-D interpolation
- Piecewise polynomials and splines
- Smoothing splines
- Spline smoothing in 1D
* “Classic” smoothing splines and generalized cross-validation (GCV) criterion
* Smoothing splines with automatic knot selection
* Smoothing spline curves in \(d>1\)
* Legacy routines for spline smoothing in 1-D - 2-D smoothing splines
* Bivariate spline fitting of scattered data
* Bivariate spline fitting of data on a grid
* Bivariate spline fitting of data in spherical coordinates
- Spline smoothing in 1D
- Multivariate data interpolation on a regular grid (RegularGridInterpolator)
- Scattered data interpolation (griddata)
- Using radial basis functions for smoothing/interpolation
- Extrapolation tips and tricks
- Interpolate transition guide