python - 如何使用 pandas Styler 函数按列值为 html 表着色
问题描述
我有一个要渲染到 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
,但我只能使用列中的最大值作为渐变的最大值,并且目标值最终与列的其余部分一起设置样式。
编辑当前代码:
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]
解决方案
推荐阅读
- java - 在 Deque 中打印最大元素
- javascript - 刷新页面,直到它更改 chrome 扩展
- python - Systemparsenow 让我的壁纸变黑
- python - 为什么最终会阻止引发异常的返回
- mysql - MariaDB 10.1.44 没有 row_number() 的行数
- conan - 如何修改/影响/调整柯南依赖项
- javascript - 如何在 div JavaScript 上创建上下文菜单?
- c++ - 删除从 Tcl_NewListObj 返回的 tcl 列表
- android - 单击 android 模拟器上的按钮时,flutter-webrts 视频通话应用程序崩溃,并且相机显示奇怪的图像
- testing - 有条件地忽略 JUnit5 中的测试的正确方法?