Comment enregistrer un DataFrame Pandas en tant qu'image PNG sans axes supplémentaires ?

Barbara Streisand
Libérer: 2024-10-31 22:22:02
original
650 Les gens l'ont consulté

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

Comment enregistrer un DataFrame Pandas en tant qu'image PNG

Aperçu

Ce guide explore comment enregistrer un DataFrame Pandas, qui représente une structure tabulaire , en tant que fichier image Portable Network Graphics (PNG).

Problème

La création d'une table à partir d'un DataFrame à l'aide de la fonction table() de Matplotlib ajoute généralement des axes de tracé et des étiquettes. Cependant, cela n’est pas souhaitable pour générer une représentation de table propre. De plus, exporter le tableau au format HTML n'est peut-être pas la solution idéale.

Solution

Pour enregistrer un DataFrame en tant qu'image PNG sans axes ni étiquettes indésirables :

<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>
Copier après la connexion

Tables multi-index

Pour les DataFrames avec des colonnes multi-indexées, vous pouvez simuler une table multi-index en procédant comme suit :

  1. Réinitialisez le multi-index sur les colonnes normales.
  2. Supprimez les valeurs en double des colonnes d'index d'ordre supérieur.
  3. Remplacez les noms de colonnes d'index par des chaînes vides.
<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!