web-dev-qa-db-ja.com

pandasスタイル付きテーブルを画像ファイルにエクスポート

以下のコードは、jupyter Notebookで実行すると、画像ファイルにエクスポートしたい色のグラデーション形式でテーブルをレンダリングします。

結果としてノートブックがレンダリングする「styled_table」オブジェクトは、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

17
user1243477

コメントで述べたように、renderプロパティを使用して、スタイル付きテーブルのHTMLを取得できます。

html = styled_table.render()

その後、htmlを画像に変換するパッケージを使用できます。たとえば、 IMGKit:Python HTML to IMG wrapperのライブラリ 。このソリューションでは、コマンド wkhtmltopdf HTMLをPDFおよびさまざまな画像形式にレンダリングする行ツール。すべてIMGKitページで説明されています。

それができたら、残りは簡単です:

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