在我的代码中,我使用 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)
添加回答
举报
0/150
提交
取消