下面是我使用的 Dataframe :
我试过以下代码:
def color_red_or_green(val):
color = 'green' if val >= 70 else 'orange' if val < 70 & val >= 40 else "red"
return 'color: %s' % color
week2_Percentage.style.apply(color_red_or_green, subset = ['availability'])
它将列名availibility的条件Map为背景色,但出现以下错误:
1条答案
按热度按时间1u4esq0p1#
apply函数根据其documentation执行“列方式、行方式或表方式”。在用于确定颜色的if else语句中,使用了整个列“availability”,因此一个序列中同时存在所有值,而不仅仅是单个值。
&
的用法在这里不起作用,您需要使用and
。您需要使用applymap来根据条件格式化单个元素,而不是apply: