除使用lambda外,有没有更简便的方法实现pandas表格条件变色?
成绩表低于60分标记红色的简化实现方案
基础数据构造代码如下:
import pandas as pd df = pd.DataFrame([[71,62,13], [75,76,77]], columns=list("ABC"))
你目前用apply配合自定义lambda的写法可以实现需求,还有更简洁的实现方式:直接调用pandas Styler内置的highlight_less方法,不需要自己写遍历判断逻辑,一行代码就能达到完全相同的效果:
df.style.highlight_less(60, props='color: #ff33aa')
注意:如果需要将低于60分的单元格背景标红,把参数换成
color='#ff33aa'即可;上面的props参数用来指定修改字体颜色,和你原有实现的效果完全一致。
这个内置方法是pandas 1.3.0及以上版本提供的,针对小于、大于、处于指定区间的数值高亮都有对应封装,比自定义逻辑可读性更高,代码也更简洁好维护。
内容的提问来源于stack exchange,提问作者JJJohn
相关产品推荐
相关产品推荐

