【Python】 DataFrameを表として画像ファイルに出力する方法

【Python】 DataFrameを表として画像ファイルに出力する方法
ホーム » Python » 【Python】 DataFrameを表として画像ファイルに出力する方法

まえがき

 前回の記事で、結構な枚数のDataFrameの実行結果の画像を使用しました。その際、Windows標準のキャプチャツールでいちいち画面キャプチャするのが面倒で、JupyterNoteBookに表示される表を画像出力できないかを調べました。調べた結果出てきた、以下のサイトの記述を参考に、表を出力する関数を作ったのでご紹介します。

httpsteratail.comquestions177934

作った関数

 作った関数のソースを以下に示します。「matplotlib.pyplot」は様々な形式のグラフを作成し、画像ファイルとして保存する機能も標準搭載しています。5行目で表示形式を”Table“にしたことで、 matplotlib の表として出力し、保存できるようになっています。

import matplotlib.pyplot as plt
def TablePlot(df,outputPath,w,h):
    fig, ax = plt.subplots(figsize=(w,h))
    ax.axis('off')
    ax.table(cellText=df.values,
             colLabels=df.columns,
             loc='center',
             bbox=[0,0,1,1])
    plt.savefig(outputPath)

 引数は4つです。1つ目は表として出力するDataFrame、2つ目は保存する画像ファイルのフルパス、3つ目は横の長さ、4つ目は縦の長さです。
 以下のように使うと、その下の図のような出力がJupyterNoteBook上に表示されます。この時、指定したパスに出力と同じ画像ファイルが生成されます。

TablePlot(df,"任意のパス",10,10)

“任意のパス”はファイル名を含みます。拡張子を「.jpeg」や「.png」とすることで、画像ファイルの種類を変更することができます。

まとめ

 DataFrameを表として画像ファイルに出力する方法をご紹介しました。できれば、 JupyterNoteBook の出力欄の画像を問答無用で保存できるのがベストなのですが、今のところそれは見つかっていません。またよさそうな方法を見つけたらご紹介したいと思います。