Wie man Streamlit mit Seaborn verwendet: Ein Schnellstart-Guide
Published on
In der Welt der Python-Datenvisualisierung sind zwei Namen oft herausragend: Streamlit und Seaborn. Diese leistungsstarken Bibliotheken haben die Art und Weise, wie wir Daten visualisieren, revolutioniert und sie zugänglicher und aufschlussreicher gemacht. In diesem umfassenden Leitfaden werden wir uns mit der Integration von Streamlit und Seaborn befassen und zeigen, wie sie zusammenarbeiten können, um beeindruckende Visualisierungen zu erstellen.
Ob Sie ein erfahrener Datenwissenschaftler oder ein Anfänger sind, der in die Welt der Datenvisualisierung einsteigt, dieser Leitfaden bietet wertvolle Einblicke. Wir beginnen mit den Grundlagen, definieren, was Streamlit und Seaborn sind, und bewegen uns dann allmählich in komplexere Bereiche wie ihre Integration und praktische Beispiele.
Vorstellung von Streamlit
Haben Sie sich jemals so gefühlt, als ob Sie in Code versinken, während Sie versuchen, eine Datenvisualisierungs-App zu erstellen? Hier kommt Streamlit ins Spiel. Diese Open-Source-Python-Bibliothek ist eine Erleichterung für Entwickler und ermöglicht es, interaktive Webanwendungen für maschinelles Lernen und Data Science mühelos zu erstellen.
Der Charme von Streamlit liegt in seiner Einfachheit. Stellen Sie sich vor, Sie könnten eine voll funktionsfähige Webanwendung mit nur wenigen Codezeilen erstellen. Klingt zu gut, um wahr zu sein, oder? Aber mit Streamlit ist es Realität.
Hier ein kleiner Einblick in das, was Streamlit zu bieten hat:
- Einfachheit: Die benutzerfreundliche Oberfläche von Streamlit ermöglicht es Ihnen, sich mehr auf die Daten und weniger auf den Code zu konzentrieren.
- Anpassbarkeit: Möchten Sie, dass Ihre App herausragend ist? Streamlit ermöglicht es Ihnen, Ihre App an Ihre spezifischen Bedürfnisse anzupassen.
- Integration: Streamlit funktioniert gut mit anderen Python-Bibliotheken, einschließlich Seaborn, Matplotlib und Altair. Dies macht es zu einem Schweizer Taschenmesser im Toolkit eines Datenwissenschaftlers.
Und Was ist Seaborn?
Wenn Streamlit die Bühne ist, ist Seaborn der Künstler. Diese Python-Datenvisualisierungsbibliothek, basierend auf Matplotlib, verwandelt rohe Daten in attraktive und informative statistische Grafiken wie ein Künstler.
Seaborn glänzt bei der Visualisierung komplexer Datensätze mit mehreren Variablen. Es ist wie eine Lupe, die Muster und Beziehungen in Ihren Daten sichtbar macht, die sonst unbemerkt bleiben könnten.
Hier sind einige herausragende Merkmale von Seaborn:
- Komplexe Plot-Typen: Haben Sie schon einmal von Paarplots und Korrelationsplots gehört? Das sind die Spezialitäten von Seaborn, die wertvolle Einblicke in Ihre Daten liefern.
- Integration mit Pandas: Seaborn und Pandas ergänzen sich perfekt. Diese Integration macht Seaborn zu einem hervorragenden Tool für die explorative Datenanalyse.
Streamlit und Seaborn: Ein dynamisches Duo in der Datenvisualisierung
Wenn Streamlit und Seaborn separat verwendet werden, sind sie wie Superhelden in der Welt der Datenvisualisierung. Aber wenn sie sich zusammenschließen, werden sie zu einer unaufhaltsamen Kraft. Die Integration von Streamlit und Seaborn ermöglicht es Ihnen, interaktive Datenvisualisierungen zu erstellen, die über eine Webanwendung geteilt und zugänglich gemacht werden können.
Diese starke Kombination eröffnet eine Welt voller Möglichkeiten. Sie können beispielsweise Seaborn verwenden, um einen komplexen Paarplot zu erstellen, und dann Streamlit verwenden, um diesen Plot in einer Webanwendung anzuzeigen. Auf diese Weise können Sie Ihre Erkenntnisse mit anderen teilen, auch wenn sie kein Python oder Seaborn auf ihren Maschinen installiert haben.
Aber wie bei jedem dynamischen Duo haben auch Streamlit und Seaborn ihre Herausforderungen. Sie könnten auf Probleme wie den berüchtigten 'ImportError' oder den 'savefig'-Fehler stoßen. Aber keine Sorge, wir haben Sie abgesichert. Wir werden diese Probleme und ihre Lösungen in den folgenden Abschnitten behandeln.
Die Integration von Streamlit und Seaborn ist jedoch nicht immer einfach. Sie könnten auf Probleme wie den berüchtigten 'ImportError' oder den 'savefig'-Fehler stoßen. Aber keine Sorge, wir werden diese Probleme und ihre Lösungen in den folgenden Abschnitten behandeln.
Beispiele zur Verwendung von Streamlit mit Seaborn
Nun, da wir die Grundlagen abgedeckt haben, tauchen wir in einige praktische Beispiele ein. In diesem Abschnitt führen wir Sie durch den Prozess der Erstellung eines Streamlit-Seaborn-Pairplots und eines Korrelationsplots. Wir werden auch den häufig auftretenden 'savefig'-Fehler bei der Integration von Streamlit und Seaborn behandeln.
Integration von Streamlit und Seaborn
Die Integration von Streamlit und Seaborn umfasst einige Schritte. Zuerst müssen Sie die erforderlichen Bibliotheken importieren. Anschließend erstellen Sie Ihren Seaborn-Plot und verwenden Streamlit, um ihn anzuzeigen. Hier ist ein einfaches Beispiel:
import streamlit as st
import seaborn as sns
import pandas as pd
# Laden Sie Ihre Daten
df = pd.read_csv('Ihre_Daten.csv')
# Erstellen Sie ein Seaborn-Pairplot
plot = sns.pairplot(df)
# Zeigen Sie den Plot in Streamlit an
st.pyplot(plot.fig)
In diesem Beispiel importieren wir zuerst die erforderlichen Bibliotheken (Streamlit, Seaborn und Pandas). Dann laden wir unsere Daten mit Pandas. Als nächstes erstellen wir ein Pairplot mit Seaborn. Schließlich zeigen wir den Plot in Streamlit mit der Funktion st.pyplot()
an.
Anzeigen von Seaborn-Diagrammen in Streamlit
Das Anzeigen von Seaborn-Diagrammen in Streamlit ist unkompliziert. Sie erstellen einfach Ihren Seaborn-Plot wie gewohnt und verwenden dann die Funktion st.pyplot()
, um ihn anzuzeigen. Hier ist ein Beispiel:
import streamlit as st
import seaborn as sns
import pandas as pd
# Laden Sie Ihre Daten
df = pd.read_csv('Ihre_Daten.csv')
# Erstellen Sie ein Seaborn-Korrelationsdiagramm
plot = sns.heatmap(df.corr(), annot=True)
# Zeigen Sie den Plot in Streamlit an
st.pyplot(plot.get_figure())
In diesem Beispiel erstellen wir ein Korrelationsdiagramm mit Seaborn's heatmap()
-Funktion. Wir zeigen dann den Plot in Streamlit mit der Funktion st.pyplot()
an. Beachten Sie, dass wir die Methode get_figure()
verwenden, um das Matplotlib-Figure-Objekt aus dem Seaborn-Plot zu erhalten.
Erstellen Sie eine Streamlit-Datenvisualisierungs-App mit PyGWalker
PyGWalker (opens in a new tab) ist auch ein weiteres großartiges Tool mit No Code. Sie können diese Open Source Python Library verwenden, um problemlos Streamlit Data Visualization Apps zu erstellen.
PyGWalker + Streamlit Online Demo (opens in a new tab)
PyGWalker (opens in a new tab) ist eine Python-Bibliothek, mit der Sie eine Tableau-ähnliche Benutzeroberfläche problemlos in Ihre eigene Streamlit-App einbetten können.
Schauen Sie sich dieses erstaunliche Video von Sven von Coding is Fun (opens in a new tab) an, in dem die detaillierten Schritte zum Stärken Ihrer Streamlit-App mit dieser leistungsstarken Data Visualization Python Library gezeigt werden!
Ein besonderer Dank gilt Sven und seinem großartigen Beitrag (opens in a new tab) zur PyGWalker-Community!
Darüber hinaus können Sie auch diese Ressourcen überprüfen:
- Data Exploration und Ergebnisprüfung mit Pygwalker und Streamlit (opens in a new tab)
- PyGWalker-GitHub-Seite (opens in a new tab) für weitere PyGWalker-Beispiele.
Fortgeschrittenes Beispiel: Erstellen einer Streamlit-Anwendung für maschinelles Lernen
Lassen Sie uns darauf konzentrieren, eine maschinelle Lernanwendung mit Streamlit zu erstellen. Wir werden ein einfaches Beispiel verwenden: eine Sentimentanalyse-App. Diese App nimmt Benutzereingaben entgegen, prognostiziert das Sentiment der Eingabe mithilfe eines vortrainierten Modells und zeigt das Ergebnis an.
Schritt 1: Erforderliche Bibliotheken importieren
Zunächst müssen wir die erforderlichen Bibliotheken importieren. Wir benötigen Streamlit für die App selbst und eine maschinelle Lernbibliothek für die Sentimentanalyse. In diesem Beispiel verwenden wir TextBlob.
import streamlit as st
from textblob import TextBlob
Schritt 2: Eine Funktion für die Sentimentanalyse erstellen
Als nächstes erstellen wir eine Funktion, die einen Textstring als Eingabe erhält und das Sentiment des Textes zurückgibt. Die Methode sentiment.polarity
von TextBlob gibt eine Gleitkommazahl zwischen -1 und 1 zurück, wobei -1 negatives Sentiment, 1 positives Sentiment und 0 neutrales Sentiment bedeutet.
def analyze_sentiment(text):
return TextBlob(text).sentiment.polarity
Schritt 3: Streamlit-App erstellen
Nun erstellen wir die Streamlit-App. Wir fangen damit an, einen Titel hinzuzufügen und ein Texteingabefeld, in dem Benutzer ihren Text eingeben können. Anschließend fügen wir eine Schaltfläche hinzu, die bei Klick das Sentiment des Eingabetextes analysiert und das Ergebnis anzeigt.
st.title('Sentimentanalyse-App')
user_input = st.text_input("Geben Sie hier den Text ein")
if st.button('Analysieren'):
sentiment = analyze_sentiment(user_input)
if sentiment < 0:
st.write('Das Sentiment dieses Textes ist negativ.')
elif sentiment > 0:
st.write('Das Sentiment dieses Textes ist positiv.')
else:
st.write('Das Sentiment dieses Textes ist neutral.')
Schritt 4: Die App ausführen
Zuletzt können Sie die App ausführen, indem Sie streamlit run app.py
in Ihrem Terminal eingeben, wobei app.py
der Name Ihrer Python-Datei ist.
Und voilà! Sie haben nun eine Sentimentanalyse-App. Der Benutzer kann beliebigen Text eingeben und die App analysiert und zeigt das Sentiment des Textes an. Dies ist nur ein einfaches Beispiel, aber mit Streamlit können Sie wesentlich komplexere maschinelle Lernanwendungen erstellen. Die Möglichkeiten sind grenzenlos!
Fazit
Die Integration von Streamlit und Seaborn ist ein Game Changer in der Welt der Datenvisualisierung. Es kombiniert die Einfachheit und Interaktivität von Streamlit mit der Leistungsfähigkeit und Flexibilität von Seaborn und eröffnet so eine Vielzahl von Möglichkeiten für Datenwissenschaftler und Entwickler.
Egal, ob Sie ein komplexes Pairplot oder ein einfaches Korrelationsplot erstellen, Streamlit und Seaborn haben Sie abgedeckt. Und mit den praktischen Beispielen und Tutorials in diesem Leitfaden sind Sie auf dem besten Weg, die Integration von Streamlit und Seaborn zu beherrschen.
Also los geht's, probieren Sie es aus. Tauchen Sie in die Welt von Streamlit und Seaborn ein und entfesseln Sie die Kraft der Datenvisualisierung!
Häufig gestellte Fragen
1. Kann ich Seaborn auf Streamlit verwenden?
Auf jeden Fall! Streamlit integriert sich nahtlos mit Seaborn, sodass Sie interaktive Datenvisualisierungen erstellen können, die über eine Webanwendung geteilt und abgerufen werden können.
2. Wie zeigt man das Seaborn-Diagramm in Streamlit an?
Sie können ein Seaborn-Diagramm in Streamlit mithilfe der Funktion st.pyplot()
anzeigen. Erstellen Sie einfach Ihr Seaborn-Diagramm wie gewohnt und übergeben Sie dann das Matplotlib-Figure-Objekt an st.pyplot()
.
3. Ist Seaborn besser als Matplotlib?
Seaborn und Matplotlib haben unterschiedliche Zwecke und werden oft zusammen verwendet. Seaborn bietet eine benutzerfreundliche Oberfläche zum Zeichnen attraktiver statistischer Grafiken, während Matplotlib mehr Kontrolle über die Feinheiten des Diagramms bietet. Je nach Bedarf kann das eine besser geeignet sein als das andere.
4. Wofür eignet sich Streamlit?
Streamlit ist eine Open-Source-Python-Bibliothek, mit der Entwickler interaktive Webanwendungen für maschinelles Lernen und Datenwissenschaft erstellen können. Es ist darauf ausgelegt, den Prozess des Erstellens und Teilens von Werkzeugen für maschinelles Lernen zu vereinfachen und eignet sich daher hervorragend für die Datenvisualisierung.