首頁 >後端開發 >Python教學 >如何在沒有額外軸的情況下將 Pandas DataFrame 儲存為 PNG 映像?

如何在沒有額外軸的情況下將 Pandas DataFrame 儲存為 PNG 映像?

Barbara Streisand
Barbara Streisand原創
2024-10-31 22:22:02721瀏覽

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

如何將Pandas DataFrame 儲存為PNG 圖片

概述

本指南探討如何儲存Pandas DataFrame(表示表格結構) ,作為可移植網路圖形(PNG) 圖像檔。

問題

使用 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>

以上是如何在沒有額外軸的情況下將 Pandas DataFrame 儲存為 PNG 映像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn