如何使用pandas Styler函数按列值为HTML表格上色

时间:2018-10-24 20:41:59

标签: python pandas

我有一个要渲染到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]

0 个答案:

没有答案