What is pandas idxmax() method in Python?

The pandas library in Python provides a wide range of powerful tools for data manipulation and analysis. Among these tools is the idxmax() method, which serves the purpose of identifying the index (row label) corresponding to the maximum value along a specified axis in a Pandas DataFrame or Series.

Syntax

The syntax for the idxmax() method with DataFrame and series are as follows:

DataFrame.idxmax(axis=0, skipna=True,numeric_only=False)
Series.idxmax(axis=0, skipna=True)

Parameters

  • axis (optional): Specifies whether to find the index along rows (axis=0) or columns (axis=1). The default value is 0.

  • skipna (optional): If set to True (default), the method will skip NaN (Not a Number) values while computing the result.

  • numeric_only (optional): Default None, If we assign it to True, it will return only numeric columns, if we assign it to False it will use everything. Not implemented for Series.

Return value

  • The return value of the idxmax() method is the index label of the first occurrence of the maximum value along the specified axis.

Using idxmax() with a DataFrame

Consider the following example with a DataFrame:

import pandas as pd
data = {'X': [6, 12, 95],
'Y': [35, 4, 10],
'Z': [15, 38, 25]}
df = pd.DataFrame(data)
max_index_col = df.idxmax()
print("Index of maximum value along each column:")
print(max_index_col)

Code explanation

  • Line 1: We import the pandas library.

  • Lines 3–5: We define a dictionary named data containing three keys (‘X’, ‘Y’, ‘Z’), each corresponding to a list of numerical values.

  • Line 6: We create a pandas DataFrame named df.

  • Line 8: We use the idxmax() method on the DataFrame df to find the index (row label) of the maximum value along each column. The result is stored in the variable max_index_col.

  • Lines 9–10: We print the result where the result is a Series. The index represents the column names, and the values represent the indexes of the maximum values.

Using idxmax() with a Series

Now, let's look at an example using a pandas Series:

import pandas as pd
data = {'X': 110, 'Y': 135, 'Z': 125}
series = pd.Series(data)
max_index = series.idxmax()
print("Index of maximum value in the Series:", max_index)

Code explanation

  • Lines 3–4: We create a pandas Series named series from the dictionary data.

  • Lines 6–7: We use the idxmax() method on the Series series to find the index label corresponding to the maximum value in the Series. The result is stored in the variable max_index and print it.

Conclusion

The idxmax() method in pandas is a powerful tool for locating the indices of maximum values within DataFrames or Series. It is especially handy when we need to identify the position of the maximum value along specific axes, helping us analyze and manipulate our data effectively.

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved