Open In App

Highlight Pandas DataFrame’s specific columns using apply()

Improve
Improve
Like Article
Like
Save
Share
Report

Let us see how to highlight specific columns of a Pandas DataFrame. We can do this using the apply() function of the Styler class.

Styler.apply() 

Syntax : Styler.apply(func, axis = 0, subset = None, **kwargs)

Parameters :

  • func : function should take a Series or DataFrame (depending on-axis), and return an object with the same shape. Must return a DataFrame with identical index and column labels when axis = None.
  • axis : apply to each column (axis=0 or ‘index’) or to each row (axis=1 or ‘columns’) or to the entire DataFrame at once with axis = None
  • subset : valid indexer to limit data to before applying the function.
  • **kwargs : dict pass along to func.

Returns : Styler

Let’s understand with examples:

Example 1 :




# importing pandas as pd 
import pandas as pd 
  
# creating the dataframe
df = pd.DataFrame({"A" : [14, 4, 5, 4, 1],
                   "B" : [5, 2, 54, 3, 2],
                   "C" : [20, 20, 7, 3, 8], 
                   "D" : [14, 3, 6, 2, 6],
                   "E" : [23, 45, 64, 32, 23]}) 
  
print("Original DataFrame :")
display(df)
  
# function definition
def highlight_cols(x):
      
    # copy df to new - original data is not changed
    df = x.copy()
      
    # select all values to green color
    df.loc[:, :] = 'background-color: green'
      
    # overwrite values grey color
    df[['B', 'C', 'E']] = 'background-color: grey'
      
    # return color df
    return df 
  
print("Highlighted DataFrame :")
display(df.style.apply(highlight_cols, axis = None))


Output :

Example 2 :




# importing pandas as pd 
import pandas as pd 
  
# creating the dataframe
df = pd.DataFrame({"Name" : ["Yash", "Ankit", "Rao"],
                   "Age" : [5, 2, 54]}) 
  
print("Original DataFrame :")
display(df)
  
# function definition
def highlight_cols(x):
      
    # copy df to new - original data is not changed
    df = x.copy()
      
    # select all values to yellow color
    df.loc[:, :] = 'background-color: yellow'
      
    # return color df
    return df 
  
print("Highlighted DataFrame :")
display(df.style.apply(highlight_cols, axis = None))


Output :



Last Updated : 17 Aug, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads