Maison  >  Article  >  développement back-end  >  Comment enregistrer un DataFrame Pandas en tant qu'image PNG sans axes supplémentaires ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-31 22:22:02637parcourir

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>

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>

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!

Déclaration:
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