在jupyter笔记本中运行时,下面的代码会呈现一个颜色渐变格式的表格,我想将其导出到图像文件中。
由此产生的' styled_table'笔记本呈现的对象是pandas.io.formats.style.Styler类型。
我无法找到将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
答案 0 :(得分:9)
如评论中所述,您可以使用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')
答案 1 :(得分:6)
您可以使用来自 https://github.com/dexplo/dataframe_image 的 dexplo 的 dataframe_image
。安装该软件包后,它还允许您将样式器对象保存为图像,如本示例中来自 README
:
import numpy as np
import pandas as pd
import dataframe_image as dfi
df = pd.DataFrame(np.random.rand(6,4))
df_styled = df.style.background_gradient()
dfi.export(df_styled, 'df_styled.png')