我编写了一个函数,用于为熊猫数据框的变量赋予颜色。 在那里我使用了两个参数,第一个是变量列表,另一个是阈值列表(我在列表中只有两个值,例如30和50),用于为变量和函数着色,如下所示:
def color_code(val,values):
if val <= values[0]:
color = 'green'
elif values[0]<val<=values[1]:
color = 'yellow'
elif val >values[1]:
color = 'red'
return 'background-color: %s' % color
现在我要调用此函数。为此,我尝试了以下操作。
df1=df.style.applymap(color_code,subset=['col1','col2'],values=[30,50])
但上述通话对我不起作用。
谁能帮我解决这个问题。
谢谢。
答案 0 :(得分:1)
您可以尝试以下方法:
def color_code(values):
def color_code_by_val(val):
if val <= values[0]:
color = 'green'
elif values[0]<val<=values[1]:
color = 'yellow'
elif val >values[1]:
color = 'red'
return 'background-color: %s' % color
return color_code_by_val
那么您的电话应该是:
df1=df.style.applymap(color_code([30,50]), subset=['col1','col2'])