我在jupyter笔记本上使用python 3,试图将pandas数据框显示为表格,其中突出显示了一些单元格。我找到了这个不错的指南https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html 进行格式化,但是却以某种方式弄乱了某些索引的十进制数字。
具体来说,我从该数据帧metrics
开始,其中列threshold
是索引(正确显示为2个十进制数字):
然后我得到以下table
类型的pandas.io.formats.style.Styler:
如您所见,单元格被突出显示,但有些索引却带有很多数字。
我正在使用的代码报告如下:
def highlight_likewise_gray(s):
'''
highlight the maximum in grayscale model.
'''
is_equivalent = (s >= F1_score_gray_best - 0.02)
return ['background-color: yellow' if v else '' for v in is_equivalent]
def highlight_likewise_rgb(s):
'''
highlight the maximum in RGB model.
'''
is_equivalent = (s >= F1_score_rgb_best - 0.02)
return ['background-color: yellow' if v else '' for v in is_equivalent]
table = metrics.style.apply(highlight_likewise_rgb,subset=['F1_rgb']).apply(highlight_likewise_gray,subset=['F1_gray'])
我怀疑这可能是由于创建数据框时 pd.Index 转换索引的 np.arange 的怪异方式引起的。
threshold = np.arange(start=0, stop=0.6, step=0.05)
pandas.Index(threshold)
尽管如此,我还是设法在数据框中修复了可视化,但没有在样式中修复。
有什么建议吗?