Einführung

Zielgruppe

Die Zielgruppen sind vielfältig, von Data-Scientists über Data-Engineers und -Analysts bis hin zu Systems-Engineers. Ihre Fähigkeiten und Arbeitsabläufe sind sehr unterschiedlich. Eine der großen Stärken von Python für Data Science ist jedoch, dass es diesen verschiedenen Expert*innen ermöglicht, in funktionsübergreifenden Teams eng zusammenzuarbeiten.

Data-Scientists

untersuchen Daten mit verschiedenen Parametern und fassen die Ergebnisse zusammen.

Data-Engineers

überprüfen die Qualität des Codes und machen ihn robuster, effizienter und skalierbarer.

Data-Analysts

nutzen den von Data-Engineers bereitgestellten Code, um die Daten systematisch zu analysieren.

Systems-Engineers

stellen die Forschungsplattform auf Basis von JupyterHub bereit, auf der die anderen ihre Arbeit verrichten können.

In diesem Tutorial wenden wir uns an Systems-Engineers, die eine auf Jupyter-Notebooks basierende Plattform aufbauen und betreiben wollen. Wir erklären dann, wie diese Plattform von Data-Scientists, Data-Engineers und -Analysts effektiv genutzt werden kann.

Aufbau des Tutorials Python für Data Science

Ab Kapitel 2 folgt das Tutorial dem Prototyp eines Forschungsprojekts:

  1. Arbeitsbereich mit der Installation und Konfiguration von IPython, Jupyter notebooks mit nbextensions und ipywidgets.

  2. Daten lesen, speichern und bereitstellen entweder über eine REST API oder direkt über eine HTML-Seite.

  3. Daten bereinigen und validieren ist eine wiederkehrende Aufgabe, bei der redundante, inkonsistente oder falsch formatierte Daten entfernt oder geändert werden.

  4. Daten visualisieren wurde in ein separates Tutorial mit den vielen verschiedenen Möglichkeiten verschoben.

  5. Performance stellt Möglichkeiten vor, wie ihr euren Code schneller laufen lassen könnt.

  6. Produkt erstellen product zeigt, was notwendig ist, um reproduzierbare Ergebnisse zu erzielen: Es werden nicht nur reproducible environments benötigt, sondern auch die Versionierung des Quellcodes und der Daten. Der Quellcode sollte in Programmbibliotheken verpackt werden mit Dokumentation, Lizenz(en), Rests und Logging. Schließlich enthält das Kapitel Ratschläge zur Verbesserung der Codequalität und des sicheren Betriebs.

  7. Web-Applikationen erstellen kann entweder Dashboards aus Jupyter-Notebooks generieren oder eine umfassendere Anwendungslogik erfordern, wie in Bokeh-Plots in Flask einbinden, demonstriert, oder Daten über eine RESTful API bereitstellen.

:

Status

Contributors License pre-commit.ci status Docs DOI Mastodon

:

Folge uns

Pull-Requests

Wenn ihr Vorschläge für Verbesserungen und Ergänzungen habt, empfehle ich euch, einen Fork meines GitHub-Repository zu erstellen und darin eure Änderungen vorzunehmen. Gerne dürft ihr auch einen Pull Request stellen. Sofern die darin enthaltenen Änderungen klein und atomar sind, schaue ich mir eure Vorschläge gerne an.

Da eine englischsprachige Übersetzung gepflegt wird, beachtet folgende Richtlinien:

  • Commit messages auf Englisch

  • Commit messages mit einem Gitmoji am Anfang

  • Namen von Ordnern und Dateien auf Englisch.