为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Dataframes style.apply 基于比较值突出显示

使用 Dataframes style.apply 基于比较值突出显示

慕姐4208626 2021-06-15 22:39:41
在我的代码中,我使用 df.style.applymap() 将 HTML 呈现到我的 Intranet 网页上。我有以下代码对我来说效果很好(2 列被传递给我的函数 highlight_vals)。def highlight_vals(val, color='green', color1='red'):        if val > 0.8:            return 'background-color: %s' % color        elif val < -0.9:            return 'background-color: %s' % color1        else:            return ''现在,我想制作一个类似的函数(或曾经使用当前的 highlight_vals),以便在以下条件下实现比较突出显示:if ValinColumn1 > 0.25 * ValinColumn2: # (For same Row/Record)return 'background-颜色:%s' % 颜色 #黄色/高光。我在我的views.py 中使用了上面的函数:httresp += df.style.applymap(highlight_vals,subset=[col1,col2])
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

您需要使用apply(axis=1)来遍历行:


def highlight_vals(row, cols=['A', 'B'], color='green'):

    a, b = cols

    styles = {col: '' for col in row.index}

    if row[a] > 0.25 * row[b]:

        styles[a] = 'background-color: %s' % color

        styles[b] = 'background-color: %s' % color

    return styles


df.style.apply(lambda x: highlight_vals(x, cols=['B', 'E']), axis=1)

//img1.sycdn.imooc.com//60dae4e10001f52b03020268.jpg

查看完整回答
反对 回复 2021-06-29
  • 2 回答
  • 0 关注
  • 456 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信