How do I find the max value in a row in Pandas?

To find the maximum value in a row in Pandas, you can use the .max() method. This method will return the highest value in the given row. For example, if you have a dataframe named df, you can use df.max() to return the maximum value in each row of the dataframe. You can also use the axis parameter to specify whether you want to find the maximum value in each column or in each row. By default, axis=0 specifies that you want to find the maximum value in each row.


You can use the following basic syntax to find the max value in each row of a pandas DataFrame:

df['max'] = df.max(axis=1)

This particular syntax creates a new column called max that contains the max value in each row of the DataFrame.

The following example shows how to use this syntax in practice.

Example: Find the Max Value in Each Row in Pandas

Suppose we have the following pandas DataFrame:

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame({'points': [4, np.nan, 10, 2, 15, np.nan, 7, 22],
                   'rebounds': [np.nan, 3, 9, 7, 6, 8, 14, 10],
                   'assists': [10, 9, 4, 4, 3, 7, 10, 11]})
    
#view DataFrame
print(df)

   points  rebounds  assists
0     4.0       NaN       10
1     NaN       3.0        9
2    10.0       9.0        4
3     2.0       7.0        4
4    15.0       6.0        3
5     NaN       8.0        7
6     7.0      14.0       10
7    22.0      10.0       11

We can use the following syntax to create a new column called max that contains the max value in each row:

#create new column that contains max value of each row
df['max'] = df.max(axis=1)

#view updated DataFrame
print(df)

   points  rebounds  assists   max
0     4.0       NaN       10  10.0
1     NaN       3.0        9   9.0
2    10.0       9.0        4  10.0
3     2.0       7.0        4   7.0
4    15.0       6.0        3  15.0
5     NaN       8.0        7   8.0
6     7.0      14.0       10  14.0
7    22.0      10.0       11  22.0

The new column called max contains the max value in each row.

For example, we can see:

  • The max value in the first row is 10.
  • The max value in the second row is 9.
  • The max value in the third row is 10.

And so on.

Also notice that the max() function automatically ignores NaN values when determining the max value in each row.

You can also find the max value in each row for only specific columns.

For example, you can use the following syntax to find the max value in each row and only consider the points and rebounds columns:

#add new column that contains max value of each row for points and rebounds columns
df['max'] = df[['points', 'rebounds']].max(axis=1)

#view updated DataFrame
print(df)

   points  rebounds  assists   max
0     4.0       NaN       10   4.0
1     NaN       3.0        9   3.0
2    10.0       9.0        4  10.0
3     2.0       7.0        4   7.0
4    15.0       6.0        3  15.0
5     NaN       8.0        7   8.0
6     7.0      14.0       10  14.0
7    22.0      10.0       11  22.0

Note: You can find the complete documentation for the pandas max() function .

x