# xarray.DataArray.reduce

#### DataArray.reduce(func, dim=None, , axis=None, keep_attrs=None, keepdims=False, \*\*kwargs)[[source]](https://github.com/pydata/xarray/blob/main/xarray/core/dataarray.py#L3995-L4041)

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

* **Parameters:**
  * **func** ([`callable()`](https://docs.python.org/3/builtins/functions.html#callable)) – Function which can be called in the form
    f(x, axis=axis, \*\*kwargs) to return the result of reducing an
    np.ndarray over an integer valued axis.
  * **dim** (`"..."`, [`str`](xarray.DataArray.str.html.md#xarray.DataArray.str), `Iterable` of `Hashable` or [`None`](https://docs.python.org/3/builtins/constants.html#None), *optional*) – Dimension(s) over which to apply func. By default func is
    applied over all dimensions.
  * **axis** ([`int`](https://docs.python.org/3/builtins/functions.html#int) or [sequence](https://docs.python.org/3/glossary.html#term-sequence) of [`int`](https://docs.python.org/3/builtins/functions.html#int), *optional*) – Axis(es) over which to repeatedly 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 f(x) without an axis argument).
  * **keep_attrs** ([`bool`](https://docs.python.org/3/builtins/functions.html#bool) or [`None`](https://docs.python.org/3/builtins/constants.html#None), *optional*) – If True (default), the variable’s attributes (attrs) will be copied from
    the original object to the new one.  If False, the new
    object will be returned without attributes.
  * **keepdims** ([`bool`](https://docs.python.org/3/builtins/functions.html#bool), *default*: [`False`](https://docs.python.org/3/builtins/constants.html#False)) – If True, the dimensions which are reduced are left in the result
    as dimensions of size one. Coordinates that use these dimensions
    are removed.
  * **\*\*kwargs** ([`dict`](https://docs.python.org/3/builtins/stdtypes.html#dict)) – Additional keyword arguments passed on to func.
* **Returns:**
  **reduced** ([`DataArray`](xarray.DataArray.html.md#xarray.DataArray)) – DataArray with this object’s array replaced with an array with
  summarized data and the indicated dimension(s) removed.
