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

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

输出格式化的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")

浏览器打开效果如下:

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部