# xarray.Dataset.idxmin

#### Dataset.idxmin(dim=None, \*, skipna=None, fill_value=<NA>, keep_attrs=None)[[source]](https://github.com/pydata/xarray/blob/main/xarray/core/dataset.py#L9390-L9495)

Return the coordinate label of the minimum value along a dimension.

Returns a new Dataset named after the dimension with the values of
the coordinate labels along that dimension corresponding to minimum
values along that dimension.

In comparison to [`argmin()`](xarray.Dataset.argmin.html.md#xarray.Dataset.argmin), this returns the
coordinate label while [`argmin()`](xarray.Dataset.argmin.html.md#xarray.Dataset.argmin) returns the index.

* **Parameters:**
  * **dim** (`Hashable`, *optional*) – Dimension over which to apply idxmin.  This is optional for 1D
    variables, but required for variables with 2 or more 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`, `complex`, and `object`
    dtypes; other dtypes either do not have a sentinel missing value
    (`int`) or `skipna=True` has not been implemented
    (`datetime64` or `timedelta64`).
    If False, NaN is treated as the minimum like in
    [`numpy.argmin()`](https://numpy.org/doc/stable/reference/generated/numpy.argmin.html#numpy.argmin), so the label of the first NaN is returned.
  * **fill_value** (`Any`, *default*: `NaN`) – Value to be filled in case all of the values along a dimension are
    null.  By default this is NaN.  The fill value and result are
    automatically converted to a compatible dtype if possible.
    Ignored if `skipna` is False.
  * **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, the attributes (`attrs`) of the coordinate are copied to
    the result. If False, the result is returned without attributes.
* **Returns:**
  **reduced** ([`Dataset`](xarray.Dataset.html.md#xarray.Dataset)) – New Dataset object with idxmin applied to its data and the
  indicated dimension removed.

#### SEE ALSO
[`DataArray.idxmin`](xarray.DataArray.idxmin.html.md#xarray.DataArray.idxmin), [`Dataset.idxmax`](xarray.Dataset.idxmax.html.md#xarray.Dataset.idxmax), [`Dataset.min`](xarray.Dataset.min.html.md#xarray.Dataset.min), [`Dataset.argmin`](xarray.Dataset.argmin.html.md#xarray.Dataset.argmin)

### Examples

<div class="try_examples_button_container"><button class="try_examples_button" onclick="window.tryExamplesShowIframe('1fed24bc-771f-4015-8c98-d74687569ade','e81cb007-b9df-41d0-92a6-1a79b836b49c','18948ea8-8502-40a3-b950-7d3b1d9a0f4f','../lite/tree/../notebooks/index.html?path=fc43847a_8f55_4a14_ab75_3131fec2b825.ipynb','None')">Try it in your browser!</button></div>
```pycon
>>> array1 = xr.DataArray(
...     [0, 2, 1, 0, -2], dims="x", coords={"x": ["a", "b", "c", "d", "e"]}
... )
>>> array2 = xr.DataArray(
...     [
...         [2.0, 1.0, 2.0, 0.0, -2.0],
...         [-4.0, np.nan, 2.0, np.nan, -2.0],
...         [np.nan, np.nan, 1.0, np.nan, np.nan],
...     ],
...     dims=["y", "x"],
...     coords={"y": [-1, 0, 1], "x": ["a", "b", "c", "d", "e"]},
... )
>>> ds = xr.Dataset({"int": array1, "float": array2})
>>> ds.min(dim="x")
<xarray.Dataset> Size: 56B
Dimensions:  (y: 3)
Coordinates:
  * y        (y) int64 24B -1 0 1
Data variables:
    int      int64 8B -2
    float    (y) float64 24B -2.0 -4.0 1.0
>>> ds.argmin(dim="x")
<xarray.Dataset> Size: 56B
Dimensions:  (y: 3)
Coordinates:
  * y        (y) int64 24B -1 0 1
Data variables:
    int      int64 8B 4
    float    (y) int64 24B 4 0 2
>>> ds.idxmin(dim="x")
<xarray.Dataset> Size: 40B
Dimensions:  (y: 3)
Coordinates:
  * y        (y) int64 24B -1 0 1
Data variables:
    int      <U1 4B 'e'
    float    (y) <U1 12B 'e' 'a' 'c'
```

<div id="18948ea8-8502-40a3-b950-7d3b1d9a0f4f" class="try_examples_outer_iframe  hidden"><div class="try_examples_button_container"><button class="try_examples_button" onclick="window.tryExamplesHideIframe('1fed24bc-771f-4015-8c98-d74687569ade','18948ea8-8502-40a3-b950-7d3b1d9a0f4f')">Go Back</button><button class="try_examples_button" onclick="window.openInNewTab('1fed24bc-771f-4015-8c98-d74687569ade','18948ea8-8502-40a3-b950-7d3b1d9a0f4f')">Open In Tab</button></div><div id="e81cb007-b9df-41d0-92a6-1a79b836b49c" class="jupyterlite_sphinx_iframe_container"></div></div><script>document.addEventListener("DOMContentLoaded", function() {window.loadTryExamplesConfig("../try_examples.json");});</script>
