w3resource

Pandas styling Exercises: Write a Pandas program to highlight the minimum value in each column


4. Highlight Minimum Value in Each Column

Create a dataframe of ten rows, four columns with random values. Write a Pandas program to highlight the minimum value in each column.

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)
def highlight_min(s):
    '''
    highlight the minimum in a Series red.
    '''
    is_max = s == s.min()
    return ['background-color: red' if v else '' for v in is_max]

print("\nHighlight the minimum value in each column:")
df.style.apply(highlight_min,subset=pd.IndexSlice[:, ['B', 'C', 'D', 'E']])

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

Highlight the minimum value in each column:

Sample Output:

Python Pandas: pandas styling exercise-4 output

Download the Jupyter Notebook from here.


For more Practice: Solve these Related Problems:

  • Write a Pandas program to highlight the minimum value in each column with a custom color using a styling function.
  • Write a Pandas program to apply a style that marks the lowest number in every column with a contrasting font color.
  • Write a Pandas program to create a dataframe style function that highlights the minimum value of each column with an italicized format.
  • Write a Pandas program to dynamically detect and highlight the minimum values in each column of a randomly generated dataframe.

Go to:


Previous: Create a dataframe of ten rows, four columns with random values. Write a Pandas program to highlight the maximum value in each column.
Next: Create a dataframe of ten rows, four columns with random values. Write a Pandas program to highlight the maximum value in last two columns.

Python Code Editor:

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

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.