📊 Seaborn Boxplot Tutorial: Erstellen Sie benutzerdefinierte Boxplots in Python
Published on
Boxplots sind ein essentielles Werkzeug im Bereich der Datenwissenschaften, um eine statistische Zusammenfassung von Daten zu geben und die Verteilung der Daten besser zu verstehen. Sie sind besonders nützlich während der explorativen Datenanalyse (EDA) in Datenwissenschaftsprojekten. In diesem Tutorial werden wir uns darauf konzentrieren, Boxplots mit der Seaborn-Bibliothek in Python zu erstellen, einem leistungsstarken Werkzeug für statistische Grafiken und Datenvisualisierung. Wir werden uns die Funktion seaborn.boxplot, ihre Syntax und Anpassungsmöglichkeiten genauer anschauen.
Seaborn ist eine Python-Datenvisualisierungsbibliothek, basierend auf matplotlib. Sie bietet eine benutzerfreundliche Oberfläche für attraktive und informative statistische Grafiken. Eine der Hauptfunktionen von Seaborn ist die Möglichkeit, Boxplots zu erstellen, welche graphische Darstellungen der Fünf-Zahlen-Zusammenfassung unserer Daten sind. Die Funktion seaborn.boxplot() ist ein leistungsstarkes Werkzeug, mit dem wir diese Plots einfach und flexibel erstellen können.
Wollen Sie schnell Datenvisualisierungen von Python Pandas Dataframe ohne Code erstellen?
PyGWalker ist eine Python-Bibliothek für explorative Datenanalyse mit Visualisierung. PyGWalker (opens in a new tab) kann Ihren Jupyter Notebook Datenanalyse- und Datenvisualisierungsworkflow vereinfachen, indem es Ihren Pandas Dataframe (und polars Dataframe) in eine Tableau-ähnliche Benutzeroberfläche für visuelle Exploration umwandelt.
Was ist ein Seaborn Boxplot und wie wird er verwendet?
Ein Seaborn Boxplot ist eine Methode zur grafischen Darstellung von Gruppen numerischer Daten durch ihre Quartile. Er bietet eine visuelle Zusammenfassung der Daten, wobei die Box den Interquartilsbereich (die mittleren 50% der Daten) repräsentiert, die Linie innerhalb der Box ist der Median und die Whiskers repräsentieren den Datenbereich. Ausreißer, wenn vorhanden, werden als einzelne Punkte außerhalb der Whiskers dargestellt.
Boxplots werden verwendet, um Verteilungen zwischen verschiedenen Datensätzen zu vergleichen. Zum Beispiel können Sie die Verteilung der Testergebnisse zwischen verschiedenen Klassenräumen vergleichen oder die Verteilung der Temperaturen in verschiedenen Monaten. Die Funktion seaborn.boxplot macht es einfach, diese Plots zu erstellen und nach Bedarf anzupassen.
Erstellen eines Seaborn Boxplots in Python
Um einen Seaborn Boxplot zu erstellen, müssen Sie zunächst die Seaborn-Bibliothek importieren. Dies können Sie mit der folgenden Zeile Code tun:
import seaborn as sns
Als nächstes müssen Sie Ihre Daten laden. Seaborn kann Pandas Dataframes verarbeiten, also können Sie Ihre Daten in einen Dataframe laden und ihn dann der Funktion seaborn.boxplot übergeben. Hier ist ein Beispiel:
## Laden des Beispiel-Datensatzes "tips"
tips = sns.load_dataset("tips")
## Erstellen eines Boxplots
sns.boxplot(x=tips["total_bill"])
In diesem Beispiel laden wir den eingebauten Datensatz "tips" von Seaborn und erstellen einen Boxplot der Gesamtrechnungsbeträge.
Anpassen des Erscheinungsbilds eines Seaborn Boxplots
Seaborn Boxplots können auf verschiedene Weise angepasst werden, um ihr Erscheinungsbild zu verbessern und sie informativer zu machen. Hier sind ein paar Beispiele, wie Sie Ihren Seaborn Boxplots anpassen können:
Ändern der Ausrichtung
Standardmäßig erstellt Seaborn vertikale Boxplots. Sie können jedoch horizontale Boxplots erstellen, indem Sie die Parameter x und y vertauschen. Hier ist ein Beispiel:
## Erstellen eines horizontalen Boxplots
sns.boxplot(y=tips["total_bill"])
Hinzufügen einer Farbe (Hue)
Sie können Ihrem Boxplot einen Hue-Parameter hinzufügen, um die Boxen nach einer anderen kategorischen Variable aufzuteilen. Dies kann nützlich sein, um Verteilungen zwischen verschiedenen Gruppen zu vergleichen. Hier ist ein Beispiel:
## Erstellen eines Boxplots mit Hue
sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips)
In diesem Beispiel erstellen wir einen Boxplot der Gesamtrechnungsbeträge für jeden Tag, aufgeteilt nach der Frage, ob der Kunde Raucher ist oder nicht.
Anpassen der Boxfarben
Seaborn ermöglicht es Ihnen, die Farben Ihrer Boxplots anzupassen. Dies können Sie tun, indem Sie ein Farbschema (color palette) an den Parameter palette der Boxplot-Funktion übergeben. Hier ist ein Beispiel:
## Erstellen eines Boxplots mit benutzerdefinierten Farben
sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips, palette="Set3")
In diesem Beispiel verwenden wir das Farbschema "Set3", um unsere Boxplots einzufärben.
Ändern der Whiskers
Standardmäßig repräsentieren die Whiskers eines Seaborn Boxplots den Datenbereich, wobei Ausreißer ausgeschlossen werden. Sie können dies jedoch ändern, indem Sie einen anderen Wert an den Parameter whis der Boxplot-Funktion übergeben. Zum Beispiel können Sie whis auf 0.5 setzen, um die Whiskers die 5. und 95. Perzentile darstellen zu lassen. Hier ist ein Beispiel:
## Erstellen eines Boxplots mit benutzerdefinierten Whiskers
sns.boxplot(x="day", y="total_bill", data=tips, whis=0.5)
Seaborn Boxplot vs Violinplot
Seaborn bietet einen weiteren Typ von Plot namens Violinplot an, der einen Boxplot mit einer Kernverteilungsschätzung (Kernel Density Estimation) kombiniert, um eine detailliertere Beschreibung der Verteilung der Werte zu liefern. Während Boxplots hervorragend geeignet sind, um eine Zusammenfassung der Daten zu liefern, können Violinplots ein genaueres Bild der Verteilung liefern.
Allerdings können Violinplots komplexer zu interpretieren sein und möglicherweise nicht für alle Zielgruppen geeignet sein. Boxplots hingegen sind einfach und weit verbreitet verständlich, wodurch sie für viele Situationen eine gute Wahl sind.
Hier ist ein Beispiel, wie Sie in Seaborn einen Violinplot erstellen können:
## Erstellen eines Violinplots
sns.violinplot(x="day", y="total_bill", data=tips)
Interpretieren eines Seaborn-Boxplots
Die Interpretation eines Seaborn-Boxplots erfordert das Verständnis der verschiedenen Komponenten des Diagramms. Die Box in der Mitte repräsentiert den Interquartilbereich (IQR), der den Bereich zwischen dem ersten Quartil (25. Perzentil) und dem dritten Quartil (75. Perzentil) darstellt. Die Linie innerhalb der Box ist der Median oder das 50. Perzentil der Daten. Die Whiskers repräsentieren den Bereich der Daten innerhalb von 1,5 mal dem IQR. Datenpunkte außerhalb dieses Bereichs gelten als Ausreißer und werden als einzelne Punkte dargestellt.
Hier ist ein Beispiel, wie man einen Seaborn-Boxplot interpretiert:
## Erstelle einen Boxplot
sns.boxplot(x="day", y="total_bill", data=tips)
In diesem Boxplot kann man die durchschnittliche Gesamtrechnung für jeden Tag sehen, dargestellt durch die Linie innerhalb jeder Box. Die Boxen repräsentieren den IQR, also kann man den Bereich der Gesamtrechnungen für die mittleren 50% der Kunden an jedem Tag sehen. Die Whiskers zeigen den Bereich der Gesamtrechnungen innerhalb von 1,5 mal dem IQR und alle Punkte außerhalb dieses Bereichs sind Ausreißer.
Anmerkungen zu Seaborn-Boxplots
Seaborn-Boxplots können mit zusätzlichen Informationen versehen werden. Zum Beispiel können Sie den Median, Quartile oder Ausreißer mit ihren Werten annotieren. Hier ist ein Beispiel, wie man Anmerkungen zu einem Seaborn-Boxplot hinzufügt:
## Erstelle einen Boxplot
ax = sns.boxplot(x="day", y="total_bill", data=tips)
## Füge Anmerkungen hinzu
for patch in ax.artists:
r, g, b, a = patch.get_facecolor()
patch.set_facecolor((r, g, b, .3))
x = patch.get_x()
y = patch.get_y()
width = patch.get_width()
height = patch.get_height()
ax.text(x+width/2, y+height/2, "{:.2f}".format(height), ha='center', va='center')
plt.show()
In diesem Beispiel fügen wir Anmerkungen zu dem Boxplot hinzu, die die Höhe jeder Box anzeigen, was den IQR darstellt.
Fazit
Zusammenfassend sind Seaborn-Boxplots ein leistungsfähiges Werkzeug zur Visualisierung und Verständnis der Verteilung Ihrer Daten. Mit der Seaborn-Bibliothek können Sie attraktive und informative Boxplots mit nur wenigen Zeilen Code erstellen. Egal, ob Sie einen neuen Datensatz erkunden oder einen Bericht vorbereiten, Seaborn-Boxplots können Ihnen die nötigen Einblicke liefern.
FAQs
Was ist ein Seaborn-Boxplot und wie wird er verwendet?
Ein Seaborn-Boxplot ist eine grafische Darstellung der Verteilung eines Datensatzes, die den Median, die Quartile und Ausreißer der Daten zeigt. Er wird verwendet, um die Verteilung von Daten zu visualisieren und zu verstehen und um Verteilungen zwischen verschiedenen Datengruppen zu vergleichen.
Wie erstelle ich einen Seaborn-Boxplot in Python?
Sie können einen Seaborn-Boxplot in Python mit der Funktion seaborn.boxplot() erstellen. Sie müssen Ihre Daten an diese Funktion übergeben und das Aussehen des Boxplots mit verschiedenen Parametern anpassen können.
Wie kann ich das Aussehen eines Seaborn-Boxplots anpassen?
Sie können das Aussehen eines Seaborn-Boxplots auf verschiedene Weisen anpassen, einschließlich der Änderung der Ausrichtung, Hinzufügen eines Farbtons, Anpassung der Farben und Ändern der Whiskers. Sie können auch Anmerkungen hinzufügen, um zusätzliche Informationen bereitzustellen.