# xarray.IndexVariable.reduce

`IndexVariable.``reduce`(func, dim=None, axis=None, keep_attrs=None, keepdims=False, allow_lazy=None, **kwargs)

  Reduce this array by applying func along some dimension(s).

  Parameters:

  - func (function) – Function which can be called in the form func(x, axis=axis, **kwargs) to return the result of reducing an np.ndarray over an integer valued axis.
  - dim (str or sequence of str, optional) – Dimension(s) over which to apply func.
  - axis (int or sequence of int, optional) – Axis(es) over which to apply func. Only one of the ‘dim’ and ‘axis’ arguments can be supplied. If neither are supplied, then the reduction is calculated over the flattened array (by calling func(x) without an axis argument).
  - keep_attrs (bool, optional) – If True, the variable’s attributes (attrs) will be copied from the original object to the new one. If False (default), the new object will be returned without attributes.
  - keepdims (bool, default False) – If True, the dimensions which are reduced are left in the result as dimensions of size one
  - **kwargs (dict) – Additional keyword arguments passed on to func.

  Returns: | reduced – Array with summarized data and the indicated dimension(s) removed.
  Return type: | Array