pandas.core.groupby.DataFrameGroupBy.idxmin#

DataFrameGroupBy.idxmin(skipna=True, numeric_only=False)[source]#

Return index of first occurrence of minimum in each group.

Parameters:
skipnabool, default True

Exclude NA values.

numeric_onlybool, default False

Include only float, int or boolean data.

Added in version 1.5.0.

Returns:
DataFrame

Indexes of minima in each column according to the group.

Raises:
ValueError
  • If a column is empty or skipna=False and any value is NA.

See also

Series.idxmin

Return index of the minimum element.

DataFrame.idxmin

Indexes of minima along the specified axis.

Notes

This method is the DataFrame version of ndarray.argmin.

Examples

Consider a dataset containing food consumption in Argentina.

>>> df = pd.DataFrame(
...     {
...         "consumption": [10.51, 103.11, 55.48],
...         "co2_emissions": [37.2, 19.66, 1712],
...         "food_type": ["meat", "plant", "meat"],
...     },
...     index=["Pork", "Wheat Products", "Beef"],
... )
>>> df
                consumption  co2_emissions
Pork                  10.51         37.20
Wheat Products       103.11         19.66
Beef                  55.48       1712.00

By default, it returns the index for the minimum value in each column according to the group.

>>> df.groupby("food_type").idxmin()
                consumption   co2_emissions
food_type
animal                 Pork            Pork
plant        Wheat Products  Wheat Products