nodes: 0, module; 1, function_definition; 2, function_name:interp_like; 3, parameters; 4, block; 5, identifier:self; 6, identifier:other; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, expression_statement; 11, if_statement; 12, expression_statement; 13, return_statement; 14, identifier:method; 15, string; 16, identifier:assume_sorted; 17, False; 18, identifier:kwargs; 19, dictionary; 20, comment:"""Interpolate this object onto the coordinates of another object,
          filling out of range values with NaN.
  
          Parameters
          ----------
          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.
          method: string, optional.
              {'linear', 'nearest'} for multidimensional array,
              {'linear', 'nearest', 'zero', 'slinear', 'quadratic', 'cubic'}
              for 1-dimensional array. 'linear' is used by default.
          assume_sorted: boolean, optional
              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: dictionary, optional
              Additional keyword passed to scipy's interpolator.
  
          Returns
          -------
          interpolated: xr.DataArray
              Another dataarray by interpolating this dataarray's data along the
              coordinates of the other object.
  
          Notes
          -----
          scipy is required.
          If the dataarray has object-type coordinates, reindex is used for these
          coordinates instead of the interpolation.
  
          See Also
          --------
          DataArray.interp
          DataArray.reindex_like
          """; 21, comparison_operator:self.dtype.kind not in 'uifc'; 22, block; 23, assignment; 24, call; 25, string_content:linear; 26, attribute; 27, string; 28, raise_statement; 29, identifier:ds; 30, call; 31, attribute; 32, argument_list; 33, attribute; 34, identifier:kind; 35, string_content:uifc; 36, call; 37, attribute; 38, argument_list; 39, identifier:self; 40, identifier:_from_temp_dataset; 41, identifier:ds; 42, identifier:self; 43, identifier:dtype; 44, identifier:TypeError; 45, argument_list; 46, call; 47, identifier:interp_like; 48, identifier:other; 49, keyword_argument; 50, keyword_argument; 51, keyword_argument; 52, call; 53, attribute; 54, argument_list; 55, identifier:method; 56, identifier:method; 57, identifier:kwargs; 58, identifier:kwargs; 59, identifier:assume_sorted; 60, identifier:assume_sorted; 61, attribute; 62, argument_list; 63, identifier:self; 64, identifier:_to_temp_dataset; 65, concatenated_string; 66, identifier:format; 67, attribute; 68, string; 69, string; 70, identifier:self; 71, identifier:dtype; 72, string_content:interp only works for a numeric type array.; 73, string_content:Given {}.
code: def interp_like(self, other, method='linear', assume_sorted=False,
                      kwargs={}):
          """Interpolate this object onto the coordinates of another object,
          filling out of range values with NaN.
  
          Parameters
          ----------
          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.
          method: string, optional.
              {'linear', 'nearest'} for multidimensional array,
              {'linear', 'nearest', 'zero', 'slinear', 'quadratic', 'cubic'}
              for 1-dimensional array. 'linear' is used by default.
          assume_sorted: boolean, optional
              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: dictionary, optional
              Additional keyword passed to scipy's interpolator.
  
          Returns
          -------
          interpolated: xr.DataArray
              Another dataarray by interpolating this dataarray's data along the
              coordinates of the other object.
  
          Notes
          -----
          scipy is required.
          If the dataarray has object-type coordinates, reindex is used for these
          coordinates instead of the interpolation.
  
          See Also
          --------
          DataArray.interp
          DataArray.reindex_like
          """
          if self.dtype.kind not in 'uifc':
              raise TypeError('interp only works for a numeric type array. '
                              'Given {}.'.format(self.dtype))
  
          ds = self._to_temp_dataset().interp_like(
              other, method=method, kwargs=kwargs, assume_sorted=assume_sorted)
          return self._from_temp_dataset(ds)