我有一个要渲染到html表的数据框,我想根据每列的目标值使用渐变着色来设置样式。
理想情况下,目标值将不会应用背景,而其他值则取决于其是高于还是低于目标值,而会显示红色或绿色阴影。
df = pd.DataFrame({'Col 1': [7, 8, 12, 4, 'Target Val 1'],
'Col 2': [1, 4, 5, 8, 'Target Val 2'],
'Col 3': [7, 5, 3, 24, 'Target Val 3']})
我尝试使用Styler.background_gradient
,但是我只能使用列中的最大值作为渐变的最大值,并且最终将目标值与列的其余部分一起使用。 / p>
编辑当前代码:
cm = sns.light_palette('green', as_cmap = True)
[t.style.set_table_attributes('border="1" class="dataframe table table-hover
table-bordered"').background_gradient(cm).set_properties(**{'font-size':
'12px', 'font-family':'Calibri', 'text-align':'center'}).format("{:.0f}%",
subset=percent_cols).render() for t in style_teams]