首页 > 解决方案 > 熊猫样式不会改变颜色列

问题描述

我想突出显示熊猫数据框某些列中的一些值。我有这个代码来做到这一点:示例数据框:

    Name    ID Name_1  ID.1
0    cat  98.4    dog  98.4
1  cat.1  96.5  dog.1  96.5
2  cat.3  95.4  dog.3  95.4

def color_negative_red_1(value):
    if value <= 96.5:
        color='red'
    elif value == 97.5:
        color='blue'
    else:
        color='black'
    return ['background-color: red']

df_1.style.applymap(color_negative_red_1,subset=['ID','ID.1'])

以下是它的外观:

在此处输入图像描述

但是我的excel文件没有任何变化...

标签: pythonpandas

解决方案


  1. applymap 按元素工作,您不需要返回列表,它应该只是字符串。
  2. 您总是将颜色设置为红色,您没有使用变量color
def color_negative_red_1(value):
    if value <= 96.5:
        color='red'
    elif value == 97.5:
        color='blue'
    else:
        color='black' # a really bad idea, may be you should just set color = ''
    return 'background-color: {}'.format(color)

推荐阅读