pandas.DataFrame.idxmax — pandas 3.0.0.dev0+2097.gcdc5b7418e documentation (original) (raw)

DataFrame.idxmax(axis=0, 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 0

The axis to use. 0 or ‘index’ for row-wise, 1 or ‘columns’ for column-wise.

skipnabool, default True

Exclude NA/null values. If the entire DataFrame is NA, or if skipna=False and there is an NA value, this method will raise a ValueError.

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

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