在Pandas中突出显示每一列的最小值

  • Post category:Python

在Pandas中,可以通过样式设置(Styling)功能来实现对DataFrame中每列最小值的突出显示。具体步骤如下:

  1. 导入必要的库和数据集:
import pandas as pd
import numpy as np

# 创建数据集
data = pd.DataFrame({
    'A': [1, 3, 5, 7],
    'B': [2, 4, 6, 8],
    'C': [3, 6, 9, 12]
})
  1. 定义函数highlight_min,用于返回一个DataFrame格式的样式控制对象,其中最小值会被突出显示:
def highlight_min(s):
    """
    用于突出显示每一列的最小值
    """
    green = 'background-color: #00FF7F'
    return np.where(s == s.min(), green, '')
  1. 将样式控制对象应用于DataFrame:
styled = data.style.apply(highlight_min)
styled

执行以上代码后,可以得到一个样式控制后的DataFrame对象,其中每列的最小值会被突出显示(默认是绿色)。

同时,可以通过设置具体的样式,比如背景颜色、文字颜色等,来定制DataFrame的样式。例如,可以添加如下代码来将背景颜色改为黄色:

styled = data.style.apply(highlight_min).background_gradient(color='yellow')
styled

执行以上代码后,可以得到一个背景为黄色、每列最小值突出显示的DataFrame对象。