SciPy Interpolation

Interpolation with SciPy

SciPy provides powerful interpolation tools for estimating values between known data points. From simple linear interpolation to advanced radial basis functions, SciPy covers a wide range of interpolation needs for 1D, 2D, and higher-dimensional data.

Key Interpolation Methods Covered:
  • 1D Interpolation: Linear, cubic, spline methods
  • Spline Interpolation: Cubic splines with various boundary conditions
  • 2D Interpolation: Regular and irregular grid interpolation
  • RBF Interpolation: Radial basis functions for scattered data
  • Practical Applications: Image processing, time series analysis
  • Advanced Techniques: Multivariate interpolation, extrapolation
Pro Tip: Choose interpolation methods based on your data characteristics. Use linear for speed, cubic for smoothness, and RBF for scattered data.

1. 1D Interpolation Methods

Basic 1D interpolation using interp1d with various methods.

Loading code editor...
Interpolation Methods:
  • Linear: Straight lines between points
  • Cubic: Smooth cubic polynomials
  • Nearest: Nearest neighbor
  • Previous/Next: Step functions
When to Use:
  • Linear: Fast, simple data
  • Cubic: Smooth curves needed
  • Nearest: Discrete data
  • Step: Piecewise constant data

2. Spline Interpolation

Advanced spline interpolation with CubicSpline for smooth curves with continuous derivatives.

Loading code editor...
Spline Features:
  • Continuous derivatives: Smooth transitions
  • Boundary conditions: Control endpoint behavior
  • Piecewise polynomials: Flexible curve fitting
Boundary Conditions:
  • Natural: Second derivative = 0 at endpoints
  • Clamped: Specify first derivatives at endpoints
  • Not-a-knot: Continuous third derivative

3. 2D Interpolation

Interpolation in two dimensions for regular grids and scattered data.

Loading code editor...
Regular Grid Methods:
  • RectBivariateSpline - Bivariate spline
  • RegularGridInterpolator - N-dimensional
  • interp2d - 2D interpolation function
Scattered Data:
  • griddata - Irregular to regular grid
  • LinearNDInterpolator - Linear in N-D
  • CloughTocher2DInterpolator - Piecewise cubic

4. Radial Basis Function (RBF) Interpolation

Powerful method for interpolating scattered data in multiple dimensions using radial basis functions.

Loading code editor...
RBF Functions:
  • Multiquadric: √(1 + (εr)²)
  • Inverse: 1/√(1 + (εr)²)
  • Gaussian: exp(-(εr)²)
  • Linear: r
  • Cubic:
Advantages:
  • Works with scattered data in any dimension
  • Smooth interpolations
  • Handles irregular geometries
  • Good for machine learning applications

5. Practical Application: Image Processing

Applying interpolation techniques to image processing tasks like image resizing and reconstruction.

Loading code editor...
Image Interpolation Uses:
  • Image resizing: Zooming in/out
  • Image registration: Aligning images
  • Super-resolution: Enhancing resolution
  • Geometric transformations: Rotation, scaling
Specialized Image Functions:
  • scipy.ndimage.zoom - Image zooming
  • scipy.ndimage.rotate - Image rotation
  • scipy.ndimage.map_coordinates - Arbitrary transformations

6. Practical Application: Time Series Interpolation

Handling irregularly sampled time series data and creating regularly spaced interpolations.

Loading code editor...
Time Series Methods:
  • PCHIP: Shape-preserving, monotonic
  • Akima: Smooth, less oscillatory
  • Cubic Spline: Very smooth
  • Linear: Fast, simple
Considerations:
  • Data smoothness requirements
  • Computational efficiency
  • Extrapolation risks
  • Missing data handling

Interpolation Method Comparison

Loading code editor...

Quick Reference Table

Data TypeRecommended MethodKey FunctionBest For
1D RegularLinear/Cubicinterp1d()Simple 1D data, speed important
1D SmoothCubic SplineCubicSpline()Smooth curves, derivatives needed
1D Shape-preservingPCHIP/AkimaPchipInterpolator()Monotonic data, avoid overshoot
2D Regular GridBivariate SplineRectBivariateSpline()Image data, regular grids
2D ScatteredRBF/GriddataRbf()/griddata()Irregular measurements, maps
ND ScatteredRBFRbf()Machine learning, high-dimensional
Time SeriesPCHIP/Linearinterp1d()Irregular sampling, forecasting
🎯 Key Takeaways
  • Choose interpolation method based on data characteristics and requirements
  • Linear interpolation is fastest but least smooth
  • Cubic splines provide smoothness but may oscillate
  • PCHIP preserves shape and monotonicity
  • RBF is powerful for scattered data in any dimension
  • Always consider extrapolation risks and data boundaries
  • Test multiple methods for your specific application