Wie man ein DataFrame mit Pandas plottet
Published on
Die Visualisierung von Daten ist eine essentielle Fähigkeit für jeden, der mit Daten arbeitet. Sie hilft Ihnen, Einblicke in Ihre Daten zu gewinnen, Ergebnisse effektiver zu präsentieren und komplexe Informationen auf einfache und visuelle Weise zu kommunizieren. In diesem Leitfaden zeigen wir Ihnen, wie Sie mithilfe von Pandas, einem leistungsstarken Datenanalysetool in Python, ein DataFrame plotten können.
Möchten Sie schnell Datenvisualisierungen in Python erstellen?
PyGWalker ist ein Open Source Python Projekt, das Ihnen dabei helfen kann, den Workflow der Datenanalyse und -visualisierung direkt in einer Jupyter Notebook-basierten Umgebung zu beschleunigen.
PyGWalker (opens in a new tab) verwandelt Ihr Pandas Dataframe (oder Polars Dataframe) in eine visuelle Benutzeroberfläche, in der Sie Variablen per Drag & Drop verschieben können, um Diagramme mühelos zu erstellen. Verwenden Sie einfach den folgenden Code:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Sie können PyGWalker jetzt mit diesen Online-Notebooks ausführen:
Und vergessen Sie nicht, uns auf GitHub ⭐️ zu geben!
Was ist Pandas?
Pandas ist eine Open-Source-Bibliothek, die leistungsstarke und einfach zu verwendende Datenstrukturen und Datenanalysetools für Python bietet. Sie basiert auf Matplotlib (opens in a new tab), einer beliebten Plotting-Bibliothek in Python, und bietet eine benutzerfreundliche Schnittstelle zur Erstellung verschiedener Plots.
Welche Vorteile bietet Pandas für die Datenvisualisierung?
Pandas bietet mehrere Vorteile für die Datenvisualisierung, darunter:
- Einfache Handhabung großer Datensätze
- Integration mit anderen Python-Bibliotheken
- Eine Vielzahl von Diagrammtypen
- Anpassungsfähigkeit für komplexe Visualisierungen
Welche Arten von Plots können mit Pandas erstellt werden?
Pandas unterstützt eine Vielzahl von Diagrammtypen, darunter:
- Linienplots
- Balkendiagramme
- Histogramme
- Boxplots
- Streudiagramme
- Hexbin-Diagramme
- Flächendiagramme
- Kreisdiagramme
Wie importiert man Bibliotheken und Datensätze in Pandas?
Bevor Sie mit dem Plotten beginnen können, müssen Sie die erforderlichen Bibliotheken importieren und Ihren Datensatz laden. Hier ist ein Beispiel, wie Sie Pandas importieren und eine CSV-Datei lesen:
import pandas as pd
data = pd.read_csv('data.csv')
Was ist ein Linienplot in Pandas?
Ein Linienplot ist ein Diagrammtyp, der Informationen als eine Reihe von Datenpunkten darstellt, die durch gerade Linienstücke verbunden sind. Er eignet sich zur Visualisierung von Trends und Beziehungen zwischen Variablen im Laufe der Zeit.
Hier ist ein Beispiel, wie Sie einen einfachen Linienplot in Pandas erstellen:
data.plot(kind='line', x='date', y='price')
Wie erstellt man ein Balkendiagramm in Pandas?
Ein Balkendiagramm ist ein Diagrammtyp, der Daten mithilfe rechteckiger Balken darstellt, wobei die Längen der Balken die Werte der Daten repräsentieren. Es eignet sich zur Visualisierung kategorischer Daten und zum Vergleich von Werten zwischen Kategorien.
Hier ist ein Beispiel, wie Sie ein einfaches Balkendiagramm in Pandas erstellen:
data.plot(kind='bar', x='category', y='value')
Jetzt, wo Sie ein grundlegendes Verständnis von Pandas und seinen Plotting-Möglichkeiten haben, tauchen wir in einige fortgeschrittene Beispiele ein.
Beispiel 1: Linienplot der monatlichen Aktienkurse
In diesem Beispiel werden die monatlichen Aktienkurse von drei Tech-Giganten - Facebook, Microsoft und Apple - geplottet. Zuerst importieren wir die erforderlichen Bibliotheken und laden die Aktiendaten:
import pandas as pd import matplotlib.pyplot as plt stock_data = pd.read_csv('stock_data.csv')
Anschließend werden wir die Daten neu abtasten, um den durchschnittlichen Aktienkurs für jeden Monat zu erhalten:
monthly_data = stock_data.resample('M', on='Date').mean()
Schließlich plotten wir die monatlichen Aktienkurse für jedes Unternehmen:
monthly_data.plot(kind='line', x='Date', y=['Facebook', 'Microsoft', 'Apple'])
plt.title('Monatliche Aktienkurse von Facebook, Microsoft und Apple')
plt.xlabel('Datum')
plt.ylabel('Aktienkurs')
plt.legend(['Facebook', 'Microsoft', 'Apple'])
plt.show()
Diese Grafik zeigt die monatlichen Aktienpreisentwicklungen von Facebook, Microsoft und Apple und ermöglicht es uns, ihre Performance im Laufe der Zeit zu vergleichen.
Beispiel 2: Balkendiagramm der Produktverkäufe
In diesem Beispiel erstellen wir ein Balkendiagramm, um die Verkäufe unterschiedlicher Produkte in einem Geschäft zu visualisieren. Zuerst importieren wir die erforderlichen Bibliotheken und laden die Verkaufsdaten:
import pandas as pd import matplotlib.pyplot as plt sales_data = pd.read_csv('sales_data.csv')
Als nächstes aggregieren wir die Verkaufsdaten nach Produkt:
product_sales = sales_data.groupby('Product')['Sales'].sum()
Jetzt erstellen wir ein Balkendiagramm, um den Umsatz jedes Produkts zu visualisieren:
product_sales.plot(kind='bar') plt.title('Produktumsatz') plt.xlabel('Produkt') plt.ylabel('Umsatz') plt.show()
Dieses Balkendiagramm zeigt den Umsatz jedes Produkts an und erleichtert die Identifikation der meistverkauften Produkte im Geschäft.
Beispiel 3: Anpassung von Plots in Pandas
Pandas ermöglicht es Ihnen, Ihre Plots auf verschiedene Arten anzupassen, wie zum Beispiel durch Ändern von Farben, Hinzufügen von Beschriftungen und Anpassen der Größe des Plots. Hier ist ein Beispiel für die Anpassung eines Linienplots in Pandas:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
data.plot(kind='line', x='Datum', y='Preis', figsize=(10, 6), color='rot', linestyle='gestrichelt', linewidth=2)
plt.title('Angepasster Linienplot')
plt.xlabel('Datum')
plt.ylabel('Preis')
plt.show()
In diesem Beispiel haben wir den Linienplot angepasst, indem wir die Farbe auf rot geändert, einen gestrichelten Linienstil verwendet und die Linienbreite auf 2 gesetzt haben. Wir haben auch die Größe des Plots mit dem Parameter figsize
angepasst.
Beispiel 4: Plotten eines Pandas DataFrame mit mehreren Achsen
Manchmal möchten Sie möglicherweise mehrere Plots in derselben Abbildung anzeigen. Pandas erleichtert die Erstellung von Unterplots mit dem Parameter subplots
. Hier ist ein Beispiel für die Erstellung einer 2x2-Raster von Unterplots:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
fig, axes = plt.subplots(2, 2, figsize=(10, 6))
data.plot(kind='line', x='Datum', y='Preis', ax=axes[0, 0])
data.plot(kind='bar', x='Kategorie', y='Wert', ax=axes[0, 1])
data.plot(kind='scatter', x='Datum', y='Preis', ax=axes[1, 0])
data.plot(kind='hist', y='Preis', ax=axes[1, 1])
plt.tight_layout()
plt.show()
In diesem Beispiel haben wir ein 2x2-Raster von Unterplots erstellt, von denen jeder einen anderen Typ von Plot enthält.
Beispiel 5: Hinzufügen von Fehlerbalken zu einem Pandas Plot
Fehlerbalken sind nützlich, um die Variabilität oder Unsicherheit von Datenpunkten in einem Plot darzustellen. Hier ist ein Beispiel, wie Sie Fehlerbalken zu einem Balkendiagramm in Pandas hinzufügen:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
data.plot(kind='bar', x='Kategorie', y='Wert', yerr='Fehler')
plt.title('Balkendiagramm mit Fehlerbalken')
plt.xlabel('Kategorie')
plt.ylabel('Wert')
plt.show()
In diesem Beispiel haben wir Fehlerbalken zum Balkendiagramm hinzugefügt, indem wir den Parameter yerr
verwendet haben, der den Namen der Spalte mit den Fehlerwerten angibt.
Beispiel 6: Anpassung der Legende in einem Pandas Plot
Sie können die Legende in einem Pandas Plot anpassen, indem Sie ihre Position, Größe und andere Eigenschaften festlegen. Hier ist ein Beispiel für die Anpassung der Legende in einem Linienplot:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
ax = data.plot(kind='line', x='Datum', y='Preis')
ax.legend(loc='oben rechts', fontsize=12, title='Preis', title_fontsize=14, frameon=False)
plt.title('Linienplot mit angepasster Legende')
plt.xlabel('Datum')
plt.ylabel('Preis')
plt.show()
In diesem Beispiel haben wir die Legende angepasst, indem wir ihre Position in die obere rechte Ecke gesetzt, die Schriftgröße auf 12 geändert, einen Titel hinzugefügt, die Titelschriftgröße auf 14 gesetzt und den Rahmen um die Legende entfernt haben.
Beispiel 7: Umgang mit kategorialen Daten in einem Pandas Plot
Pandas erleichtert den Umgang mit kategorialen Daten bei der Erstellung von Plots. Hier ist ein Beispiel, wie Sie ein Balkendiagramm mit kategorialen Daten erstellen können:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('categorical_data.csv')
data['Kategorie'] = data['Kategorie'].astype('category')
data.plot(kind='bar', x='Kategorie', y='Wert')
plt.title('Balkendiagramm mit kategorialen Daten')
plt.xlabel('Kategorie')
plt.ylabel('Wert')
plt.show()
In diesem Beispiel haben wir die Spalte 'Kategorie' in einen kategorialen Datentyp umgewandelt, indem wir die Methode astype
verwendet haben, die es Pandas ermöglicht, die kategorialen Daten beim Erstellen des Balkendiagramms richtig zu behandeln.
Beispiel 8: Darstellung von Daten mit unterschiedlichen Skalen auf mehreren Achsen
Manchmal möchten Sie Daten mit unterschiedlichen Skalen in derselben Abbildung darstellen. Das können Sie in Pandas durch die Verwendung mehrerer Achsen tun. Hier ist ein Beispiel für die Erstellung eines Linienplots mit zwei y-Achsen:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
fig, ax1 = plt.subplots()
ax1.plot(data['Datum'], data['Preis'], color='blau', label='Preis')
ax1.set_xlabel('Datum')
ax1.set_ylabel('Preis', color='blau')
ax1.tick_params(axis='y', labelcolor='blau')
ax2 = ax1.twinx()
ax2.plot(data['Datum'], data['Volumen'], color='rot', label='Volumen')
ax2.set_ylabel('Volumen', color='rot')
ax2.tick_params(axis='y', labelcolor='rot')
fig.legend(loc='oben rechts')
plt.title('Linienplot mit zwei y-Achsen')
plt.show()
In diesem Beispiel haben wir einen Linienplot mit zwei y-Achsen erstellt, eine für den Preis und eine für das Volumen. Die Preisdaten werden in blau auf der linken y-Achse dargestellt, während die Volumendaten in rot auf der rechten y-Achse dargestellt werden.
Fazit
Mit diesen Codebeispielen sollten Sie nun ein solides Verständnis dafür haben, wie Sie mit Pandas einen DataFrame plotten können. Egal, ob Sie Anfänger oder Experte sind, diese Beispiele sollten Ihnen dabei helfen, schöne, informative und ansprechende Visualisierungen zu erstellen, mit denen Sie Ihre Daten besser verstehen und kommunizieren können.
Weitere Pandas-Tutorials: