将pandas样式表导出到图像fi

2024-04-29 10:10:37 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码在jupyter notebook中运行时,将以颜色渐变格式呈现一个表,我希望将其导出到图像文件中。

笔记本呈现的“样式表”对象是pandas.io.formats.style.Styler类型。

我找不到将样式器导出到图像的方法。

我希望有人能分享一个出口工作的例子,或给我一些提示。

import pandas as pd
import seaborn as sns

data = {('count', 's25'): 
       {('2017-08-11', 'Friday'): 88.0,
        ('2017-08-12', 'Saturday'): 90.0,
        ('2017-08-13', 'Sunday'): 93.0},
        ('count', 's67'): 
       {('2017-08-11', 'Friday'): 404.0,
        ('2017-08-12', 'Saturday'): 413.0,
        ('2017-08-13', 'Sunday'): 422.0},
        ('count', 's74'): 
       {('2017-08-11', 'Friday'): 203.0,
        ('2017-08-12', 'Saturday'): 227.0,
        ('2017-08-13', 'Sunday'): 265.0},
        ('count', 's79'): 
       {('2017-08-11', 'Friday'): 53.0,
        ('2017-08-12', 'Saturday'): 53.0,
        ('2017-08-13', 'Sunday'): 53.0}}

table = pd.DataFrame.from_dict(data)
table.sort_index(ascending=False, inplace=True)

cm = sns.light_palette("seagreen", as_cmap=True)
styled_table = table.style.background_gradient(cmap=cm)
styled_table

enter image description here


Tags: importtruepandasdatastyleascounttable
1条回答
网友
1楼 · 发布于 2024-04-29 10:10:37

如注释中所述,可以使用render属性获取样式表的HTML:

html = styled_table.render()

然后可以使用将html转换为图像的包。例如,IMGKit: Python library of HTML to IMG wrapper。请记住,此解决方案需要安装wkhtmltopdf,这是一个将HTML呈现为PDF和各种图像格式的命令行工具。这都在IMGKit页面中描述过。

一旦你做到了,剩下的就很简单了:

import imgkit
imgkit.from_string(html, 'styled_table.png')

相关问题 更多 >