xarray.Dataset.idxmin¶
-
Dataset.idxmin(dim=None, skipna=None, fill_value=<NA>, keep_attrs=None)¶ 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 (
str, optional) – Dimension over which to apply idxmin. This is optional for 1D variables, but required for variables with 2 or more dimensions.skipna (
boolorNone, default:None) – If True, skip missing values (as marked by NaN). By default, only skips missing values forfloat,complex, andobjectdtypes; other dtypes either do not have a sentinel missing value (int) orskipna=Truehas not been implemented (datetime64ortimedelta64).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 ifskipnais False.keep_attrs (
bool, default:False) – If True, the attributes (attrs) will be copied from the original object to the new one. If False (default), the new object will be returned without attributes.
- Returns
reduced – New Dataset object with idxmin applied to its data and the indicated dimension removed.
- Return type
See also
DataArray.idxmin,Dataset.idxmax,Dataset.min,Dataset.argminExamples
>>> 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> Dimensions: (y: 3) Coordinates: * y (y) int64 -1 0 1 Data variables: int int64 -2 float (y) float64 -2.0 -4.0 1.0 >>> ds.argmin(dim="x") <xarray.Dataset> Dimensions: (y: 3) Coordinates: * y (y) int64 -1 0 1 Data variables: int int64 4 float (y) int64 4 0 2 >>> ds.idxmin(dim="x") <xarray.Dataset> Dimensions: (y: 3) Coordinates: * y (y) int64 -1 0 1 Data variables: int <U1 'e' float (y) object 'e' 'a' 'c'