pandas.core.groupby.DataFrameGroupBy.idxmax — pandas 2.2.3 documentation (original) (raw)
DataFrameGroupBy.idxmax(axis=<no_default>, skipna=True, numeric_only=False)[source]#
Return index of first occurrence of maximum over requested axis.
NA/null values are excluded.
Parameters:
axis{{0 or ‘index’, 1 or ‘columns’}}, default None
The axis to use. 0 or ‘index’ for row-wise, 1 or ‘columns’ for column-wise. If axis is not provided, grouper’s axis is used.
Changed in version 2.0.0.
Deprecated since version 2.1.0: For axis=1, operate on the underlying object instead. Otherwise the axis keyword is not necessary.
skipnabool, default True
Exclude NA/null values. If an entire row/column is NA, the result will be NA.
numeric_onlybool, default False
Include only float, int or boolean data.
Added in version 1.5.0.
Returns:
Series
Indexes of maxima along the specified axis.
Raises:
ValueError
- If the row/column is empty
See also
Series.idxmax
Return index of the maximum element.
Notes
This method is the DataFrame version of ndarray.argmax
.
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]}, ... 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 maximum value in each column.
df.idxmax() consumption Wheat Products co2_emissions Beef dtype: object
To return the index for the maximum value in each row, use axis="columns"
.
df.idxmax(axis="columns") Pork co2_emissions Wheat Products consumption Beef co2_emissions dtype: object