jupyter Tutorials zur Datenauswertung

      (Moderne) Fehlerrechnung in physikalischen Praktika
Günter Quast, März 2020, Apr.'21  

Einführung in die Verwendung von jupyter notebooks

Das quelloffene Projekt jupyter bietet eine web-basierte interaktive Umgebung für wissenschaftliche Berech­nungen und Datenauswertung. Die zu Grunde liegenden Dateien sind sogenannte „Notebooks“, die sowohl formatierten Text als auch Programmcode u. a. in der Sprache Python und die entsprechende Programmausgabe in Form von Text und Grafiken in einem einzigen Dokument vom Typ .ipynb speichern.

Vorhandene Python-Skripte sind direkt oder mit sehr wenig Aufwand unter jupyter lauffähig. Die jupyter-Oberfläche ersetzt eine Entwicklungsumgebung wie z.B. IDLE. Zur Formatierung eingegebener Texte wird eine leicht zu erlernende Markup-Sprache verwendet, die auch Ausdrücke in LaTeX korrekt verarbeitet. Die Konversion vorhandener Textbausteine ist also leicht zu bewerkstelligen. Notebooks können in verschiedenen Formaten als komplette Dokumente, insb. auch .pdf und .html, exportiert und ggf. ausgedruckt werden.

Zur Anzeige und Bearbeitung dient ein beliebiger Web-Browser, der sich mit einem jupyter-Server verbindet.

Ein jupyter-Server kann entweder lokal auf dem gleichen System wie der Browser laufen oder auch auf einem über das Netzwerk angebundenen Rechner. Bei Verwendung eines Servers im Netzwerk oder auch in einer Compute-Cloud muss das Gerät des Endnutzers nicht besonders leistungsfähig sein, sondern lediglich einen der gängigen Web-Browser unterstützten.

Eine lokale Installation auf dem System des Nutzers ist leicht möglich, wenn eine Python-Installation vorhanden ist. Dazu den jupyter-Server mit dem installationswerkzeug pip installieren:

      > pip install jupyterlab 

Dies funktioniert problemlos unter Linux, Mac OS oder auf Windows-Systemen mit installierter Python-Umgebung.

Auf dem eigenen System kann nun mittels Eingabe von

      > jupyter-lab 

auf der Kommandozeile der Server gestartet werden. Normalerweise startet dann ein Web-Browser, und es erscheint die jupyter-Oberfläche. Sollte dies nicht der Fall sein, wird eine URL angezeigt, die Sie in Ihren Web-Browser eingeben können, nachdem Sie ihn selbst gestartet haben.

Wenn Sie einen Server im Netzwerk verwenden, geben Sie die URL des Servers in die Adresszeile des Browsers ein. In der Regel müssen Sie sich mit Benutzernamen und Kennwort anmelden. Danach startet auch in diesem Fall die jupyter-Oberfläche.

Die Fakultät für Physik am KIT betreibt einen jupyter-Server unter der URL

     https://jupytermachine.etp.kit.edu.
Dieser Dienst kann für Angehörige der Physik am KIT über die Authentifizierung im CIP-Pool genutzt werden.

Eine allgemein offene Möglichkeit zum Ausprobieren der Jupyter-Tutorials bietet der freie und kostenlose Dienst mybinder.org, der einen in einen Docker-Container eingebetteten jupyter-Server mit allen in diesem Dokument beschriebenen Tutorials zur Verfügung stellt - allerdings mit bescheidenen Rechenressourcen. Hier der Link zu diesem sehr empfehlenswerten Web-Dienst:

     jupyter server auf mybinder.org.

Beispiele zum Kennenlernen und Tutorials

Einige einfache Beispiele und Tutorials stehen zum Download bereit. Am besten speichern Sie sie lokal auf ihrem Computer in einem eigenen Arbeitsverezeichnis; nutzen Sie dazu die Funktion "Ziel speichern unter..." ihres Browsers (i.A. durch Rechts-Klick auf den Link zur Datei).

Einige jupyter-Notebooks zur Einführung in juypter, Python und Anwendungen zur Datenauswertung sind hier zusammengestellt:

  1. Spickzettel für jupyter : JupyterCheatsheet.ipynb
  2. Einführung in Python : PythonIntro.ipynb
  3. Spickzettel für Python : PythonCheatsheet.ipynb
  4. Grundlagen zur Verwendung von matplotlib : matplotlibTutorial.ipynb
  5. Grundlagen der Statistik: IntroStatistik.ipynb
  6. Fehlerrechnung im Physikalischen Praktikum: Fehlerrechnung.ipynb
  7. Tutorium zu kafe2: kafe2Tutorial.ipynb
  8. Anpassung mit der Maximum-Likelihood-Methode: negLogLFits.ipynb
  9. Modellanpassung für Fortgeschrittene (engl.): advancedFitting.ipynb
  10. Einführung in das Datenverwaltungs- und -analyse-Werkzeug pandas (engl.): pandasBasics.ipynb

Los geht's !

Starten Sie einen eigenen jupyter-Server, oder verbinden Sie sich über Ihren Web-Browser mit dem Jupyter-Server der Fakultät für Physik oder mit dem freien Dienst mybinder.org. Wenn die jupyter-Oberfläche in Ihrem Web-Browser erscheint, kann es direkt los gehen. Sie sehen eine Menüleiste, darunter links ein Fenster mit einer Dateiliste des Arbeitsverzeichnisses, und rechts ein großes Fenster für die Anzeige von Text, Programm-Code und Programmausgaben.

Links oben in der Menüleiste gibt es ein Symbol "↥ (Upload)" für das (Hoch-)Laden eines jupyter-Notebooks in den Arbeitsbereich des jupyter-Servers. Klicken Sie es an und wählen Sie im Datei-Browser eine der eben heruntergeladnen Dateien des Typs .ipynb aus. Das ausgewählte Notebook erscheint nun in der Dateiliste; starten Sie es mit einem Doppelklick.

Sie sehen nun den Inhalt des ausgewählten Notebooks im Hauptfenster der Oberfläche. Folgen Sie den Hinweisen im angezeigten Text; die Tutorials sind so ausgelegt, dass sie selbsterklärend sein sollten.

Um einen Eindruck zu gewinnen, ohne jupyter auszuführen, können Sie die folgenden Ausdrucke im pdf-Format anschauen:

Weitere Links: