# xarray.DataTree.max

#### DataTree.max(dim=None, , skipna=None, keep_attrs=None, \*\*kwargs)[[source]](https://github.com/pydata/xarray/blob/main/xarray/core/_aggregations.py#L282-L374)

Reduce this DataTree’s data by applying `max` (i.e., maximum) along some dimension(s).

* **Parameters:**
  * **dim** ([`str`](https://docs.python.org/3/builtins/stdtypes.html#str), `Iterable` of `Hashable`, `"..."` or [`None`](https://docs.python.org/3/builtins/constants.html#None), *default*: [`None`](https://docs.python.org/3/builtins/constants.html#None)) – Name of dimension[s] along which to apply `max`. For e.g. `dim="x"`
    or `dim=["x", "y"]`. If “…” or None, will reduce over all dimensions.
  * **skipna** ([`bool`](https://docs.python.org/3/builtins/functions.html#bool) or [`None`](https://docs.python.org/3/builtins/constants.html#None), *optional*) – If True, skip missing values (as marked by NaN). By default, only
    skips missing values for float dtypes; other dtypes either do not
    have a sentinel missing value (int) or `skipna=True` has not been
    implemented (object, datetime64 or timedelta64).
  * **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, `attrs` will be copied from the original
    object to the new one.  If False, the new object will be
    returned without attributes.
  * **\*\*kwargs** (`Any`) – Additional keyword arguments passed on to the appropriate array
    function for calculating `max` on this object’s data.
    These could include dask-specific kwargs like `split_every`.
* **Returns:**
  **reduced** ([`DataTree`](xarray.DataTree.html.md#xarray.DataTree)) – New DataTree with `max` applied to its data and the
  indicated dimension(s) removed

#### SEE ALSO
[`numpy.max`](https://numpy.org/doc/stable/reference/generated/numpy.max.html#numpy.max), [`dask.array.max`](https://docs.dask.org/en/latest/generated/dask.array.max.html#dask.array.max), [`Dataset.max`](xarray.Dataset.max.html.md#xarray.Dataset.max), [`DataArray.max`](xarray.DataArray.max.html.md#xarray.DataArray.max)

[Aggregation](../user-guide/computation.html.md#agg)
: User guide on reduction or aggregation operations.

### Examples

<div class="try_examples_button_container"><button class="try_examples_button" onclick="window.tryExamplesShowIframe('bdfa4575-0d0d-4974-b094-c9b1e6a89477','59cb5901-806b-4e71-b1b8-1d52f063d770','5a0c245e-23e1-4811-a0df-d674519d3bcd','../lite/tree/../notebooks/index.html?path=fab4e5c3_34e0_49f7_9e1f_0deadcacfb2e.ipynb','None')">Try it in your browser!</button></div>
```pycon
>>> dt = xr.DataTree(
...     xr.Dataset(
...         data_vars=dict(foo=("time", np.array([1, 2, 3, 0, 2, np.nan]))),
...         coords=dict(
...             time=(
...                 "time",
...                 pd.date_range("2001-01-01", freq="ME", periods=6),
...             ),
...             labels=("time", np.array(["a", "b", "c", "c", "b", "a"])),
...         ),
...     ),
... )
>>> dt
<xarray.DataTree>
Group: /
    Dimensions:  (time: 6)
    Coordinates:
      * time     (time) datetime64[us] 48B 2001-01-31 2001-02-28 ... 2001-06-30
        labels   (time) <U1 24B 'a' 'b' 'c' 'c' 'b' 'a'
    Data variables:
        foo      (time) float64 48B 1.0 2.0 3.0 0.0 2.0 nan
```

```pycon
>>> dt.max()
<xarray.DataTree>
Group: /
    Dimensions:  ()
    Data variables:
        foo      float64 8B 3.0
```

Use `skipna` to control whether NaNs are ignored.

```pycon
>>> dt.max(skipna=False)
<xarray.DataTree>
Group: /
    Dimensions:  ()
    Data variables:
        foo      float64 8B nan
```

<div id="5a0c245e-23e1-4811-a0df-d674519d3bcd" class="try_examples_outer_iframe  hidden"><div class="try_examples_button_container"><button class="try_examples_button" onclick="window.tryExamplesHideIframe('bdfa4575-0d0d-4974-b094-c9b1e6a89477','5a0c245e-23e1-4811-a0df-d674519d3bcd')">Go Back</button><button class="try_examples_button" onclick="window.openInNewTab('bdfa4575-0d0d-4974-b094-c9b1e6a89477','5a0c245e-23e1-4811-a0df-d674519d3bcd')">Open In Tab</button></div><div id="59cb5901-806b-4e71-b1b8-1d52f063d770" class="jupyterlite_sphinx_iframe_container"></div></div><script>document.addEventListener("DOMContentLoaded", function() {window.loadTryExamplesConfig("../try_examples.json");});</script>
