Pandas Table: DataFrames als Tabellen formatieren
Ein Python Pandas DataFrame kann genutzt werden, um Daten in Form einer Tabelle darzustellen. Zur strukturierten und übersichtlichen Darstellung von Datensätzen als Pandas Tables gibt es eine Reihe verschiedener Möglichkeiten.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups
Standardanzeige eines Pandas DataFrame als Tabelle
Die einfachste Methode, einen Pandas DataFrame als Table anzuzeigen, ist die Verwendung der Python-print()-Funktion. Diese liefert Ihnen eine tabellenartige Darstellung des DataFrames zurück:
import pandas as pd
data = {
'Name': ['Anna', 'Ben', 'Charlie', 'Diana'],
'Alter': [23, 30, 35, 29],
'Beruf': ['Ingenieurin', 'Lehrer', 'Arzt', 'Designer']
}
df = pd.DataFrame(data)
# DataFrame als Tabelle anzeigen
print(df)
pythonHier wird der Pandas DataFrame als einfache Table in der Konsole angezeigt. Die Ausgabe der Tabelle sieht wie folgt aus:
Name Alter Beruf
0 Anna 23 Ingenieurin
1 Ben 30 Lehrer
2 Charlie 35 Arzt
3 Diana 29 Designer
Wenn Sie Juypter Notebooks verwenden, benötigen Sie für die Anzeige Ihres Pandas DataFrame als Table nicht einmal die print()
-Funktion. Ein einfacher Aufruf des DataFrames genügt, damit er Ihnen tabellarisch präsentiert wird.
Anzeige mit to_string()
für vollständige Kontrolle
Die integrierte Pandas-Funktion DataFrame.to_string()
wandelt einen DataFrame in einen Python-String um. Sie ermöglicht es, den gesamten Pandas DataFrame als Table anzuzeigen, auch wenn er sehr groß ist. Im Folgenden betrachten wir denselben DataFrame wie im ersten Beispiel:
# DataFrame als vollständige Tabelle anzeigen
print(df.to_string())
pythonDie Ausgabe sieht folgendermaßen aus:
Name Alter Beruf
0 Anna 23 Ingenieurin
1 Ben 30 Lehrer
2 Charlie 35 Arzt
3 Diana 29 Designer
Verwendung von style
zur Formatierung einer Tabelle
Pandas bietet auch eine integrierte Möglichkeit, DataFrames farblich zu markieren und zu formatieren: die style
-Eigenschaft. Im Codebeispiel sollen die Maximalwerte des Beispieldatensatzes farblich markiert werden:
# DataFrame mit hervorgehobenen Maximalwerten anzeigen
df.style.highlight_max(axis=0)
pythonIn einem Jupyter Notebook wird der DataFrame mit farblich hervorgehobenen maximalen Werten angezeigt.
Verwendung von to_html() für Web-Frameworks
Mit DataFrame.to_html()
können Sie Ihren DataFrame mit nur einem Funktionsaufruf als HTML-Tabelle darstellen, die in Webanwendungen direkt eingebunden werden kann. Hierfür rufen Sie die Funktion einfach auf dem DataFrame auf:
# DataFrame als HTML-Tabelle anzeigen
html_table = df.to_html()
print(html_table)
pythonAls Resultat erhalten Sie HTML-Code. Diesen können Sie in Websites einbetten.
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Name</th>
<th>Alter</th>
<th>Beruf</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>Anna</td>
<td>23</td>
<td>Ingenieurin</td>
</tr>
<tr>
<th>1</th>
<td>Ben</td>
<td>30</td>
<td>Lehrer</td>
</tr>
<tr>
<th>2</th>
<td>Charlie</td>
<td>35</td>
<td>Arzt</td>
</tr>
<tr>
<th>3</th>
<td>Diana</td>
<td>29</td>
<td>Designer</td>
</tr>
</tbody>
</table>
htmlÄhnlich wie to_html()
funktioniert die Pandas-Funktion DataFrame.to_markdown()
. Als Resultat erhalten Sie hier statt HTML-Code eine Ausgabe im Markdown-Format, das in vielen Dokumentationswerkzeugen oder Blogs verwendet werden kann.
Verwendung von tabulate
für verschiedene Tabellenausgaben
Mit dem externen Python-Modul tabulate
kann man Pandas DataFrames in verschiedenen tabellarischen Formaten anzeigen. Unterstützt werden unter anderem Formate wie GitHub Flavored Markdown, reStructuredText oder einfacher Text. Das gewünschte Format wird einfach mit dem Parameter tablefmt
übergeben. Im Folgenden soll der DataFrame als GitHub-Markdown angezeigt werden:
from tabulate import tabulate
# DataFrame als Tabelle im Markdown-Format anzeigen
print(tabulate(df, headers='keys', tablefmt='github'))
pythonFolgendes Ergebnis wird ausgegeben:
| | Name | Alter | Beruf |
|----|---------|---------|-------------|
| 0 | Anna | 23 | Ingenieurin |
| 1 | Ben | 30 | Lehrer |
| 2 | Charlie | 35 | Arzt |
| 3 | Diana | 29 | Designer |