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

如何为Pandas DataFrame的分类变量单元格设置条件高亮样式

错误原因

df.style.apply() 默认会将整行/整列的Series对象传入自定义函数,你的highlight_cells里直接对整个Series做等值判断,pandas无法直接返回单个布尔值,因此抛出歧义错误。

修正方案

你只需要把apply替换为针对单个单元格生效的applymap即可,函数逻辑基本不用调整,完整代码如下:

def highlight_cells(x):
    if x == "high":
        color = "red"
    elif x == "medium":
        color = "orange"
    elif x == "low":
        color = "yellow"
    else:
        # 覆盖NaN等其他取值
        color = "gray"
    return f"background-color: {color}"

# 替换apply为applymap应用样式
value_matrix_classification.style.applymap(highlight_cells)

补充说明:如果你的pandas版本≥2.1.0,applymap已被标记为废弃,替换为value_matrix_classification.style.map(highlight_cells)即可得到相同效果。
该方案已经内置了NaN值的灰色背景逻辑,不需要再单独调用highlight_null方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:45:01