code: def reduce(self, dimensions=None, function=None, spread_fn=None, **reduce_map):
          
          if util.config.future_deprecations:
              self.param.warning('The HoloMap.reduce method is deprecated, '
                                 'for equivalent functionality use '
                                 'HoloMap.apply.reduce().collapse().')
  
          from ..element import Table
          reduced_items = [(k, v.reduce(dimensions, function, spread_fn, **reduce_map))
                           for k, v in self.items()]
          if not isinstance(reduced_items[0][1], Table):
              params = dict(util.get_param_values(self.last),
                            kdims=self.kdims, vdims=self.last.vdims)
              return Table(reduced_items, **params)
          return Table(self.clone(reduced_items).collapse())
docs: Applies reduction to elements along the specified dimension(s).
  
          Allows reducing the values along one or more key dimension
          with the supplied function. Supports two signatures:
  
          Reducing with a list of dimensions, e.g.:
  
              ds.reduce(['x'], np.mean)
  
          Defining a reduction using keywords, e.g.:
  
              ds.reduce(x=np.mean)
  
          Args:
              dimensions: Dimension(s) to apply reduction on
                  Defaults to all key dimensions
              function: Reduction operation to apply, e.g. numpy.mean
              spreadfn: Secondary reduction to compute value spread
                  Useful for computing a confidence interval, spread, or
                  standard deviation.
              **reductions: Keyword argument defining reduction
                  Allows reduction to be defined as keyword pair of
                  dimension and function
  
          Returns:
              The Dataset after reductions have been applied.