您的位置:首页 > 编程语言 > Python开发

Python:用Pandas输出格式化HTML并高亮

2022-05-19 10:14 1526 查看

输出格式化的HTML

我们已知一个DataFrame记录了模型Model1、Model2在3个Epoch优化中的精度变化情况:

frame = pd.DataFrame({"Model1": [0.620, 0.832, 0.902], "Model2": [0.683, 0.867, 0.835]}, index=\
["Epoch {}".format(r + 1) for r in range(3)]).
print(frame)
#          Model1  Mode2
# Epoch 1   0.620  0.683
# Epoch 2   0.832  0.867
# Epoch 3   0.902  0.835

现在我们像将其输出为html,我们可以这么做:

frame.to_html("Pandas/cluster_log.html")

浏览器打开效果如下:

我们发现这样并不美观。我们想要去除掉表格的边框,并使每个单元格对齐,可以为表格设置

style
属性再输出:

frame = frame.style.set_properties(**{'background-color': 'white', "align":"center"})
## **表示以关键字参数传参,等效于background-color=white形式
frame.to_html("Pandas/cluster_log.html")

增加高亮效果

如果我们想对各模型迭代过程中取得的最大精度进行高亮,可以调用

apply()
方法并传入一个回调函数:

def highlight_max(series): #遍历frame的每一列(series)依次设置效果
is_max = series == series.max()
return ['background-color: yellow' if value else '' for value in is_max]
frame = frame.style.apply(highlight_max)
frame.to_html("Pandas/highlight_cluster_log.html")

浏览器打开效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: