kalvintera / Python-Dashboard-Frameworks---Educational-Repository

Lernmaterialien für Python-Dashboards: Vergleich von Streamlit, Panel & Voilà mit Beispieldemos und Übungstemplates. Ideal für Data-Science-Kurse, um interaktive Apps und Datenvisualisierung zu erlernen.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python Dashboard Frameworks - Educational Repository

Über dieses Repository

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.

Struktur des Repositories

  • 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.

Über das verwendete Dataset

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.

Datenquelle

Das Dataset wurde vom GitHub-Repository plotly/datasets bezogen und steht unter diesem direkten Link zur Verfügung.

Inhalt des Datasets

Das Dataset umfasst folgende Spalten:

  • country: Name des Landes
  • year: Das Jahr der Beobachtung
  • pop: Bevölkerungszahl des Landes in dem Jahr
  • continent: Kontinent, zu dem das Land gehört
  • lifeExp: Durchschnittliche Lebenserwartung in dem Land für das Jahr
  • gdpPercap: Bruttoinlandsprodukt pro Kopf, angepasst um Kaufkraftparität

Verwendung im Kurs

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.

Datenschutz und Lizenz

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.

Über das COVID-19 Impf-Dataset

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.

Über das COVID-19-Dataset von Our World in Data

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.

Datenquelle

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.

Inhalt des COVID-19-Datasets

Das Dataset umfasst verschiedene Datenpunkte, darunter:

  • location: Der Name des Landes oder der Region
  • date: Das Datum der Datenerfassung
  • total_vaccinations: Die Gesamtzahl der verabreichten Impfstoffdosen
  • people_vaccinated: Die Anzahl der Personen, die mindestens eine Dosis erhalten haben
  • people_fully_vaccinated: Die Anzahl der Personen, die vollständig geimpft sind
  • daily_vaccinations: Die durchschnittliche tägliche Anzahl der verabreichten Impfdosen

Datenschutz und Lizenz

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.

Vorbereitung für die Verwendung

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 

Apps starten

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

Für Übungstemplates:

streamlit run streamlit_exercise_template_1.py
streamlit run streamlit_exercise_template_2.py

Zweck der Demos

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.

About

Lernmaterialien für Python-Dashboards: Vergleich von Streamlit, Panel & Voilà mit Beispieldemos und Übungstemplates. Ideal für Data-Science-Kurse, um interaktive Apps und Datenvisualisierung zu erlernen.


Languages

Language:Jupyter Notebook 60.2%Language:Python 39.8%