w3resource

Pandas styling Exercises: Write a Pandas program to highlight dataframe’s specific columns with different colors

Pandas styling: Exercise-8 with Solution

Create a dataframe of ten rows, four columns with random values. Write a Pandas program to highlight dataframe’s specific columns with different colors.

Sample Solution :

Python Code :

import pandas as pd
import numpy as np
np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
               axis=1)
df.iloc[0, 2] = np.nan
df.iloc[3, 3] = np.nan
df.iloc[4, 1] = np.nan
df.iloc[9, 4] = np.nan
print("Original array:")
print(df)
print("\nDifferent background color:")
coldict = {'B':'red', 'D':'yellow'}

def highlight_cols(x):
    #copy df to new - original data are not changed
    df = x.copy()
    #select all values to default value - red color
    df.loc[:,:] = 'background-color: red'
    #overwrite values grey color
    df[['B','C', 'E']] = 'background-color: grey'
    #return color df
    return df    

df.style.apply(highlight_cols, axis=None)

Original array:

Original array:
      A         B         C         D         E
0   1.0  1.329212       NaN -0.316280 -0.990810
1   2.0 -1.070816 -1.438713  0.564417  0.295722
2   3.0 -1.626404  0.219565  0.678805  1.889273
3   4.0  0.961538  0.104011       NaN  0.850229
4   5.0       NaN  1.057737  0.165562  0.515018
5   6.0 -1.336936  0.562861  1.392855 -0.063328
6   7.0  0.121668  1.207603 -0.002040  1.627796
7   8.0  0.354493  1.037528 -0.385684  0.519818
8   9.0  1.686583 -1.325963  1.428984 -2.089354
9  10.0 -0.129820  0.631523 -0.586538       NaN

Different background color:

Sample Output:

Python Pandas: pandas styling exercise-8 output

Download the Jupyter Notebook from here.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Create a dataframe of ten rows, four columns with random values. Write a Pandas program to highlight dataframe's specific columns.
Next: Create a dataframe of ten rows, four columns with random values. Write a Pandas program to display the dataframe in table style.

What is the difficulty level of this exercise?



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/python-exercises/pandas/style/pandas-style-exercise-8.php