Speichern Sie die Pandas Dataframe-Tabelle als PNG
- Das Problem beim Konvertieren der Pandas Dataframe-Tabelle in ein PNG-Bild
- Konvertieren Sie die Pandas Dataframe-Tabelle mit Matplotlib in ein PNG-Bild
- Konvertieren Sie die Pandas Dataframe-Tabelle mit Plotly und Kaleido in ein PNG-Bild
Das Hauptziel dieses Artikels ist es zu zeigen, wie ein Datenrahmen in eine Tabelle umgewandelt und als PNG-Bild in Pandas gespeichert werden kann. Wir werden auch erfahren, auf welches Problem wir stoßen, wenn wir die Pandas-Datenrahmentabelle in ein PNG-Bild konvertieren.
Das Problem beim Konvertieren der Pandas Dataframe-Tabelle in ein PNG-Bild
Der Umgang mit und der Umgang mit Daten ist in diesem technologischen Zeitalter von entscheidender Bedeutung, insbesondere wenn ihr Umfang in einem enormen Alter zunimmt. Dies erfordert unterschiedliche Methoden und Praktiken, um die Daten speichern und verarbeiten zu können.
Pandas ist ein Python-Modul, das darauf abzielt, seinen Benutzern zu ermöglichen, Daten auf vielfältige Weise zu bearbeiten und zu analysieren. Es ist im Laufe der Zeit ziemlich populär geworden, und dasselbe gilt für Python, da es weiterhin mit enormer Geschwindigkeit an Popularität gewinnt.
Der Dataframe
ist eines der am weitesten verbreiteten Werkzeuge für den Umgang mit tabellarischen Daten und oft sehr hilfreich bei der Organisation von Daten in großem Umfang. Manchmal muss die generierte Tabelle möglicherweise in einem visuellen Zustand gespeichert werden, z. B. in einem PNG-Bild.
Betrachten Sie den folgenden Code.
import pandas as pd
df = pd.DataFrame()
df["date"] = ["2016-04-01", "2016-04-02", "2016-04-03", "2016-04-03", "2016-04-03"]
df["calories"] = [2200, 2100, 1500, 2200, 2100]
df["sleep hours"] = [8, 7.5, 8.2, 3, 4]
df["gym"] = [True, False, False, True, True]
print(df)
Ausgang:
date calories sleep hours gym
0 2016-04-01 2200 8.0 True
1 2016-04-02 2100 7.5 False
2 2016-04-03 1500 8.2 False
3 2016-04-03 2200 3.0 True
4 2016-04-03 2100 4.0 True
Die folgende Abbildung zeigt eine Tabelle, die die tägliche Kalorienaufnahme, die Anzahl der Stunden, die mit Schlafen verbracht wurden, und die Gesamtzeit, die mit Training verbracht wurde, im Auge behält.
Das hier erwähnte Beispiel ist relativ kurz, aber wenn die Daten sehr umfangreich sind, kann es (durch Anforderungen) geeignet sein, die Tabelle in ein Bild umzuwandeln, damit sie unabhängig vom Code oder für eine andere Verarbeitung angezeigt werden kann.
Zur Lösung dieses Problems können mehrere Ansätze verfolgt werden, von denen einige in der folgenden Liste aufgeführt sind:
Konvertieren Sie die Pandas Dataframe-Tabelle mit Matplotlib in ein PNG-Bild
Eines der vielen Features, die im Modul pandas
verfügbar sind, ermöglicht es, erstellte Tabellen mit Hilfe von Matplotlib
auf dem Bildschirm zu plotten.
Betrachten Sie den folgenden Code.
import matplotlib.pyplot as plt
import pandas as pd
from pandas.plotting import table
df = pd.DataFrame()
df["date"] = ["2016-04-01", "2016-04-02", "2016-04-03"]
df["calories"] = [2200, 2100, 1500]
df["sleep hours"] = [8, 7.5, 8.2]
df["gym"] = [True, False, False]
ax = plt.subplot(111, frame_on=False) # no visible frame
ax.xaxis.set_visible(False) # hide the x axis
ax.yaxis.set_visible(False) # hide the y axis
table(ax, df, loc="center") # where df is your data frame
plt.savefig("mytable.png")
Was das Ausgabebild ergibt:
Nachdem wir die Tabelle erstellt haben, können wir mit matplotlib
einen Plot erzeugen. Dank der pandas
-Unterstützung, seine Tabellen mit matplotlib
zu plotten, ist der Gesamtprozess recht einfach.
Zuerst müssen wir pandas
, matplotlib.pyplot
und table
aus matplotlib
bzw. pandas.plotting
importieren. Diese Module machen diese Lösung in der Lage, die Tabelle zu plotten.
Nachdem wir das pandas
-Modul importiert haben, erstellen wir anschliessend eine Instanz der DataFrame
-Klasse und speichern diese in einer Variablen mit dem Namen df
. Gemäß unseren Anforderungen wird eine Spalte mit der Bezeichnung Datum
erstellt, gefolgt vom Hinzufügen von fünf verschiedenen Datumsangaben zu der Spalte.
Das gleiche Verfahren wird durchgeführt, um drei zusätzliche Spalten zu erstellen, die dann jeweils die Namen Kalorien
, Schlafstunden
und Fitnessstudio
erhalten und relevante Daten in die neu erstellten Spalten eingefügt werden.
Danach erstellen wir mit plt.subplot
einen Subplot und speichern ihn in einer Variablen namens ax
. Dadurch wird sichergestellt, dass im endgültigen Bild keine Rahmen sichtbar sind.
Eine weitere durchgeführte Optimierung besteht darin, dass wir die Achsenlinien x
und y
mit ax.xaxis.set_visible()
und ax.yaxis.set_visible()
entfernt haben.
Schließlich wird die Tabelle mit der Methode table()
generiert und an unseren Subplot DataFrame und einen zentralen Ort übergeben, um sie in der Mitte des Bildes zu erstellen. Danach wird das Bild mit dem Namen mytable.png
gespeichert.
Konvertieren Sie die Pandas Dataframe-Tabelle mit Plotly und Kaleido in ein PNG-Bild
Aufbauend auf der Plotly-JavaScript-Bibliothek plotly.js
ermöglicht plotly
Benutzern von Python, schöne interaktive webbasierte Visualisierungen zu erstellen.
Diese Visualisierungen können in Jupyter
-Notebooks angezeigt, als eigenständige HTML
-Dateien gespeichert oder als Teil reiner Python-basierter Web-Apps mit Dash
verwendet werden. plotly
wurde von Plotly Inc. entwickelt.
Kaleido
ist eine plattformübergreifende Bibliothek, die statische Bilder (wie png
, svg
, pdf
usw.) generiert, wobei ein besonderer Schwerpunkt darauf gelegt wird, die Notwendigkeit externer Abhängigkeiten zu beseitigen.
plotly
kann einfach installiert werden mit:
pip install plotly
Apropos kaleido
:
pip install kaleido
Betrachten Sie den folgenden Code.
import plotly.figure_factory as ff
import pandas as pd
df = pd.DataFrame()
df["date"] = ["2016-04-01", "2016-04-02", "2016-04-03", "2016-04-03", "2016-04-03"]
df["calories"] = [2200, 2100, 1500, 2200, 2100]
df["sleep hours"] = [8, 7.5, 8.2, 3, 4]
df["gym"] = [True, False, False, True, True]
fig = ff.create_table(df)
fig.update_layout(
autosize=False,
width=500,
height=200,
)
fig.write_image("table_plotly.png", scale=2)
Was das Ausgabebild ergibt:
Nachdem der Dataframe
erstellt wurde, können wir mit der create_table
-Methode von plotly.figure_factory
eine zur Visualisierung geeignete Tabelle erstellen.
Die Methode create_table
wird an die Dataframe
-Instanz übergeben, aus der wir eine Tabelle erstellen möchten, die in die richtige Form konvertiert wird, um als PNG angezeigt zu werden.
Wenn es erforderlich ist, das allgemeine Erscheinungsbild des erstellten PNG der Tabelle zu aktualisieren, kann sein Layout mithilfe verschiedener vorgegebener Attribute wie autosize
, width
und height
mithilfe der Methode update_layout
aktualisiert werden.
Nachdem das Layout nach Belieben festgelegt wurde, kann das neue PNG nun mit der Methode write_image
gespeichert werden, wobei ihm der Name des Bildes und die Skalierung bei Bedarf übergeben werden.
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn