Wednesday, September 25, 2024
Google search engine
HomeLanguagesHighlight the maximum value in each column in Pandas

Highlight the maximum value in each column in Pandas

Let’s discuss how to highlight the maximum values in Pandas Dataframe. Lets first make a dataframe:

Example:

Python3




# Import Required Libraries
import pandas as pd
import numpy as np
  
# Create a dictionary for the dataframe
dict = {'Name': ['Sukritin', 'Sumit Tyagi', 'Akriti Goel',
                 'Sanskriti', 'Abhishek Jain'], 
        'Age': [22, 20, 45, 21, 22],
        'Marks': [90, 84, 33, 87, 82]}
  
# Converting Dictionary to Pandas Dataframe
df = pd.DataFrame(dict)
  
# Print Dataframe
df


Output: 
 

Now, come to the highlighting part. Our objective is to highlight cells with maximum values in each column.

Method 1: Highlighting Cell with maximum value in each column

We will do this by using the highlight_max() method of DataFrame property. highlight_max() method takes 3 arguments, subset = name of the columns of which you want to find the maximum, color = name of the color with which you want to highlight the cell and axis = (0/1) based on which axis you want find the maximum.
 

Python3




# Highlighting the maximum values of
# last 2 columns
df.style.highlight_max(color = 'lightgreen', axis = 0)


Output: 

Method 2: Highlighting the text instead of cell 

Python3




# Defining custom function which returns 
# the list for df.style.apply() method
def highlight_max(s):
    is_max = s == s.max()
    return ['color: green' if cell else '' for cell in is_max]
  
df.style.apply(highlight_max)


Output: 

Method 3: Highlighting cell with maximum values 

Python3




# Defining custom function which returns 
# the list for df.style.apply() method
def highlight_max(s):
    is_max = s == s.max()
    return ['background: lightgreen' if cell else '' for cell in is_max]
  
df.style.apply(highlight_max)


Output: 

Method 4: Highlighting cell with maximum values but not highlighting the string values 

Python3




# Defining custom function which returns
# the list for df.style.apply() method
def highlight_max(s):
    if s.dtype == np.object:
        is_max = [False for _ in range(s.shape[0])]
    else:
        is_max = s == s.max()
    return ['background: lightgreen' if cell else '' for cell in is_max]
  
df.style.apply(highlight_max)


Output:

RELATED ARTICLES

Most Popular

Recent Comments