Dataset.interp_like(other, method='linear', assume_sorted=False, kwargs=None, method_non_numeric='nearest')[source]#

Interpolate this object onto the coordinates of another object, filling the out of range values with NaN.

If interpolating along a single existing dimension, scipy.interpolate.interp1d is called. When interpolating along multiple existing dimensions, an attempt is made to decompose the interpolation into multiple 1-dimensional interpolations. If this is possible, scipy.interpolate.interp1d is called. Otherwise, scipy.interpolate.interpn() is called.

  • other (Dataset or DataArray) – Object with an ‘indexes’ attribute giving a mapping from dimension names to an 1d array-like, which provides coordinates upon which to index the variables in this dataset. Missing values are skipped.

  • method ({"linear", "nearest", "zero", "slinear", "quadratic", "cubic", "polynomial", "barycentric", "krog", "pchip", "spline", "akima"}, default: "linear") – String indicating which method to use for interpolation:

    • ‘linear’: linear interpolation. Additional keyword arguments are passed to numpy.interp()

    • ‘nearest’, ‘zero’, ‘slinear’, ‘quadratic’, ‘cubic’, ‘polynomial’: are passed to scipy.interpolate.interp1d(). If method='polynomial', the order keyword argument must also be provided.

    • ‘barycentric’, ‘krog’, ‘pchip’, ‘spline’, ‘akima’: use their respective scipy.interpolate classes.

  • assume_sorted (bool, default: False) – If False, values of coordinates that are interpolated over can be in any order and they are sorted first. If True, interpolated coordinates are assumed to be an array of monotonically increasing values.

  • kwargs (dict, optional) – Additional keyword passed to scipy’s interpolator.

  • method_non_numeric ({"nearest", "pad", "ffill", "backfill", "bfill"}, optional) – Method for non-numeric types. Passed on to Dataset.reindex(). "nearest" is used by default.


interpolated (Dataset) – Another dataset by interpolating this dataset’s data along the coordinates of the other object.


scipy is required. If the dataset has object-type coordinates, reindex is used for these coordinates instead of the interpolation.