Dieses Repository wurde als Lehrmaterial für Kurse im Bereich Data Science und Webentwicklung erstellt. Es bietet einen praktischen Vergleich zwischen verschiedenen Python-Frameworks, die zur Erstellung von interaktiven Dashboards verwendet werden können: Streamlit, Panel und Voilà. Zusätzlich enthält es Übungstemplates für Streamlit, die Studenten dazu ermutigen, ihre eigene Projekte zu entwerfen und die Steuerelemente von Streamlit zu erkunden.
panel_app.py
: Eine einfache Panel-App, die die Erstellung eines Dashboards mit Dropdown-Selektion und Plotly-Diagrammen demonstriert.voila_app.ipynb
: Ein Jupyter Notebook, das mithilfe von Voilà in eine Web-App verwandelt werden kann. Es beinhaltet interaktive Widgets und Diagramme.streamlit_app.py
: Eine Streamlit-App, die zeigt, wie man ein interaktives Dashboard mit Streamlit erstellt.streamlit_exercise_template_1.py
: Ein Streamlit-Übungstemplate, das verschiedene interaktive Widgets enthält.streamlit_exercise_template_2.py
: Ein weiteres Übungstemplate, das auf die fortgeschrittene Nutzung von Streamlit abzielt.
Für die Demos in diesem Repository wird ein öffentlich zugängliches Dataset von GitHub verwendet, das historische Daten zum Bruttoinlandsprodukt (BIP) pro Kopf für verschiedene Länder enthält. Dieses Dataset ist Teil der Gapminder-Daten, die von der Gapminder Foundation bereitgestellt werden.
Das Dataset wurde vom GitHub-Repository plotly/datasets bezogen und steht unter diesem direkten Link zur Verfügung.
Das Dataset umfasst folgende Spalten:
country
: Name des Landesyear
: Das Jahr der Beobachtungpop
: Bevölkerungszahl des Landes in dem Jahrcontinent
: Kontinent, zu dem das Land gehörtlifeExp
: Durchschnittliche Lebenserwartung in dem Land für das JahrgdpPercap
: Bruttoinlandsprodukt pro Kopf, angepasst um Kaufkraftparität
Dieses Dataset wird verwendet, um grundlegende Konzepte der Datenvisualisierung und interaktiven Dashboard-Erstellung zu vermitteln. Es eignet sich hervorragend, um Trends über Zeit zu analysieren und Einblicke in die wirtschaftliche Entwicklung verschiedener Länder zu gewinnen.
Bitte beachten Sie, dass dieses Dataset öffentlich zugänglich ist und für Bildungszwecke genutzt wird. Für weitere Informationen über die Lizenz und die Nutzung der Daten, besuchen Sie bitte die Gapminder-Website oder das GitHub-Repository.
Zusätzlich zu den Gapminder-Daten verwenden wir für einige Demos ein Dataset, das Einblicke in die weltweiten COVID-19-Impfungen bietet. Dieses Dataset wird bereitgestellt von Our World in Data und enthält detaillierte Informationen zu den Fortschritten der Impfkampagnen in verschiedenen Ländern.
Für die Dash-Demos in diesem Repository wird ein weiteres Dataset verwendet, das Informationen über die COVID-19-Pandemie beinhaltet, insbesondere im Hinblick auf Impfungen. Das Dataset wird von Our World in Data gepflegt und regelmäßig aktualisiert, um die neuesten verfügbaren Daten widerzuspiegeln.
Das COVID-19-Dataset ist verfügbar über das GitHub-Repository von Our World in Data. Sie können das Impf-Dataset über folgenden Link direkt beziehen: COVID-19 Vaccination Data.
Das Dataset umfasst verschiedene Datenpunkte, darunter:
location
: Der Name des Landes oder der Regiondate
: Das Datum der Datenerfassungtotal_vaccinations
: Die Gesamtzahl der verabreichten Impfstoffdosenpeople_vaccinated
: Die Anzahl der Personen, die mindestens eine Dosis erhalten habenpeople_fully_vaccinated
: Die Anzahl der Personen, die vollständig geimpft sinddaily_vaccinations
: Die durchschnittliche tägliche Anzahl der verabreichten Impfdosen
Die Daten von Our World in Data sind unter einer Creative Commons Lizenz verfügbar, die eine Verwendung zu Bildungszwecken erlaubt. Weitere Details zur Lizenz und den Nutzungsbedingungen finden Sie auf der Our World in Data Website.
Es ist wichtig, dass die Studierenden die Quellen ihrer Daten verstehen und lernen, wie man Daten ethisch und verantwortungsbewusst für öffentliche Gesundheitsanalysen nutzt.
Stellen Sie sicher, dass Sie die folgenden Pakete in Ihrer Python-Umgebung installiert haben:
- Streamlit
- Panel
- Voilà
- Plotly
- Pandas
- ipywidgets
- plotly
- plotly-express
- extra-streamlit-components (Optional)
Sie können sie installieren, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
pipenv install
Um die Apps zu starten, navigieren Sie in Ihrem Terminal zu dem Verzeichnis dieses Repositories und führen Sie den entsprechenden Befehl aus:
Für Panel-App:
panel serve panel_app.py --show
Für Voilà-App:
voila voila_app.ipynb
Für Streamlit-Apps:
streamlit run streamlit_app.py
streamlit run streamlit_exercise_template_1.py
streamlit run streamlit_exercise_template_2.py
Die Demos wurden erstellt, um Studenten zu helfen:
Die Architektur und Funktionsweise der jeweiligen Frameworks zu verstehen. Praktische Erfahrungen im Umgang mit Data-Science-Tools zu sammeln. Eigene Dashboards zu erstellen und zu präsentieren. Prototyping-Fähigkeiten zu entwickeln, die in realen Projekten angewendet werden können.