Attention
This repository has been archived. Please use xarray.DataTree instead.
datatree.DataTree.idxmin#
- DataTree.idxmin(dim: ~collections.abc.Hashable | None = None, *, skipna: bool | None = None, fill_value: ~typing.Any = <NA>, keep_attrs: bool | None = None) Self [source]#
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()
, this returns the coordinate label whileargmin()
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
orNone
, optional) – If True, skip missing values (as marked by NaN). By default, only skips missing values forfloat
,complex
, andobject
dtypes; other dtypes either do not have a sentinel missing value (int
) orskipna=True
has not been implemented (datetime64
ortimedelta64
).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 ifskipna
is False.keep_attrs (
bool
orNone
, optional) – If True, the attributes (attrs
) will be copied from the original object to the new one. If False, the new object will be returned without attributes.
- Returns:
reduced (
Dataset
) – New Dataset object with idxmin applied to its data and the indicated dimension removed.
See also
DataArray.idxmin
,Dataset.idxmax
,Dataset.min
,Dataset.argmin
Examples
>>> 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: 52B Dimensions: (y: 3) Coordinates: * y (y) int64 24B -1 0 1 Data variables: int <U1 4B 'e' float (y) object 24B 'e' 'a' 'c'