code: def diff(self, dim, n=1, label='upper'):
          
          ds = self._to_temp_dataset().diff(n=n, dim=dim, label=label)
          return self._from_temp_dataset(ds)
docs: Calculate the n-th order discrete difference along given axis.
  
          Parameters
          ----------
          dim : str, optional
              Dimension over which to calculate the finite difference.
          n : int, optional
              The number of times values are differenced.
          label : str, optional
              The new coordinate in dimension ``dim`` will have the
              values of either the minuend's or subtrahend's coordinate
              for values 'upper' and 'lower', respectively.  Other
              values are not supported.
  
          Returns
          -------
          difference : same type as caller
              The n-th order finite difference of this object.
  
          Examples
          --------
          >>> arr = xr.DataArray([5, 5, 6, 6], [[1, 2, 3, 4]], ['x'])
          >>> arr.diff('x')
          <xarray.DataArray (x: 3)>
          array([0, 1, 0])
          Coordinates:
          * x        (x) int64 2 3 4
          >>> arr.diff('x', 2)
          <xarray.DataArray (x: 2)>
          array([ 1, -1])
          Coordinates:
          * x        (x) int64 3 4
  
          See Also
          --------
          DataArray.differentiate