docs: def reduce(self, func, **kwargs):
          """Reduce the items in this group by applying `func` along some
          dimension(s).
  
          Parameters
          ----------
          func : function
              Function which can be called in the form
              `func(x, **kwargs)` to return the result of collapsing an
              np.ndarray over an the rolling dimension.
          **kwargs : dict
              Additional keyword arguments passed on to `func`.
  
          Returns
          -------
          reduced : DataArray
              Array with summarized data.
          """
          rolling_dim = utils.get_temp_dimname(self.obj.dims, '_rolling_dim')
          windows = self.construct(rolling_dim)
          result = windows.reduce(func, dim=rolling_dim, **kwargs)
  
          # Find valid windows based on count.
          counts = self._counts()
          return result.where(counts >= self._min_periods)