ホームページ  >  記事  >  バックエンド開発  >  余分な軸を含まない PNG 画像として Pandas DataFrame を保存するにはどうすればよいですか?

余分な軸を含まない PNG 画像として Pandas DataFrame を保存するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 22:22:02637ブラウズ

How to Save a Pandas DataFrame as a PNG Image Without Extra Axes?

Pandas DataFrame を PNG 画像として保存する方法

概要

このガイドでは、表構造を表す Pandas DataFrame を保存する方法について説明します。

問題

Matplotlib の table() 関数を使用して DataFrame からテーブルを作成すると、通常、プロット軸とラベルが追加されます。ただし、これはクリーンなテーブル表現を生成するためには望ましくありません。さらに、テーブルを HTML としてエクスポートすることは、理想的な解決策ではない可能性があります。

解決策

不要な軸やラベルなしで DataFrame を PNG 画像として保存するには:

<code class="python">import matplotlib.pyplot as plt
import pandas as pd

# Prepare Matplotlib
ax = plt.subplot(111, frame_on=False)  # Remove frame
ax.xaxis.set_visible(False)  # Hide x-axis
ax.yaxis.set_visible(False)  # Hide y-axis

# Plot DataFrame as table
table(ax, df)

# Save as PNG
plt.savefig('mytable.png')</code>

マルチインデックステーブル

マルチインデックス列を含む DataFrame の場合、次の手順を実行してマルチインデックステーブルをシミュレートできます:

  1. マルチインデックスを通常の列にリセットします。
  2. 上位インデックス列から重複した値を削除します。
  3. インデックス列名を空の文字列に置き換えます。
<code class="python"># Example DataFrame with multi-index
df = pd.DataFrame({'first': ['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
                   'second': ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'],
                   '0': [1.991802, 0.403415, -1.024986, -0.522366, 0.350297, -0.444106, -0.472536, 0.999393]})

# Simulate multi-index
df = df.reset_index()
df[df.duplicated('first')] = ''
new_cols = df.columns.values
new_cols[:2] = '', ''
df.columns = new_cols

# Create table without row labels
ax = plt.subplot(111, frame_on=False)  # Remove frame
ax.xaxis.set_visible(False)  # Hide x-axis
ax.yaxis.set_visible(False)  # Hide y-axis
table(ax, df, rowLabels=['']*df.shape[0], loc='center')

# Save as PNG
plt.savefig('mymultitable.png')</code>

以上が余分な軸を含まない PNG 画像として Pandas DataFrame を保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。