You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataFrame中同时高亮显示3个最大值和3个最小值

同时高亮DataFrame每列的前3大值和前3小值

直接修改你的函数,让它同时识别每列的前3大值和前3小值,并分别赋予不同的背景色:

def highlight_top3_bottom3(s):
    # 获取当前列的前3大值和前3小值
    top3 = s.nlargest(3).values
    bottom3 = s.nsmallest(3).values
    # 对每个值判断,返回对应的样式
    styles = []
    for v in s:
        if v in top3:
            styles.append('background-color: lightgreen')
        elif v in bottom3:
            styles.append('background-color: lightcoral')
        else:
            styles.append('')
    return styles

使用方法

调用DataFrame的style.apply()方法即可应用这个样式:

# 假设你的DataFrame名为df
styled_df = df.style.apply(highlight_top3_bottom3)
# 展示样式后的表格
styled_df

说明

  • 前3大值会被标记为浅绿色,前3小值会被标记为浅红色
  • 如果某列存在重复值,nlargest和nsmallest会包含重复项,确保所有符合条件的重复值都被高亮

内容的提问来源于stack exchange,提问作者joblessman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:10:34