Zum Inhalt

Jupyter Notebook

Was sind Jupyter Notebook und JupyterLab?

Jupyter (Julia, Python, R) Notebook stellt die ursprüngliche Schnittstelle des Project Jupyter dar. Es handelt sich um eine interaktive Umgebung, in der Code geschrieben und ausgeführt, Daten visualisiert und die Arbeit an einem zentralen Ort dokumentiert werden können. Es unterstützt verschiedene Programmiersprachen wie Python, R und Julia, wird jedoch am häufigsten mit Python verwendet. Die Anwendung ist in den Bereichen Data Science, maschinelles Lernen und Forschung weit verbreitet.

JupyterLab ist die nächste Generation der Benutzeroberfläche von Jupyter. Es baut auf der Funktionalität von Jupyter Notebooks auf und bietet eine flexiblere und leistungsstärkere Umgebung für die Arbeit mit Code und Daten. JupyterLab ist die eigentliche Arbeitsoberfläche, in der Jupyter‑Notebooks erstellt, bearbeitet und zusammen mit anderen Dateien (z. B. Skripten, Terminals, CSV‑ oder Markdown‑Dokumenten) in anpassbaren Panels und Tabs verwaltet werden.

Im Folgenden werden die Grundlagen der Arbeit mit einem Jupyter Notebook zum Schreiben von Text und Code sowie das Speichern in verschiedenen Formaten erläutert. Detaillierte Informationen finden sich im JupyterLab User Guide.

Arbeiten mit Jupyter Notebooks

In jede Zelle eines Notebooks kann entweder Code oder Text (einschließlich Gleichungen) geschrieben werden. Code lässt sich interaktiv ausführen, Variablen können analysiert und Daten direkt grafisch dargestellt werden.

Notebook öffnen

Ein neues Notebook kann im Launcher von JupyterLab geöffnet werden. Das Notebook wird automatisch im aktuellen Verzeichnis gespeichert. Standardmäßig ist dies das Home-Verzeichnis. Wird zuvor in ein anderes Verzeichnis gewechselt, wird das Notebook dort gespeichert. Ein Notebook kann per Rechtsklick auf den Dateinamen und Auswahl von „Rename Notebook…“ umbenannt werden.

Text schreiben

Um eine Zelle in eine Textzelle umzuwandeln, wird im Dropdown-Menü am oberen Rand des Notebooks „Markdown“ ausgewählt (dort, wo standardmäßig Code steht). Alternativ kann die Taste m gedrückt werden.

Auswahl von Markdown als Zelltyp

Auswahl von Markdown als Zelltyp im Dropdown-Menü

Durch Drücken von Umschalt + Eingabetaste (Shift + Enter) wird die Zelle ausgeführt und der Text formatiert angezeigt. Alternativ kann auch die Schaltfläche ▶ in der Werkzeugleiste verwendet werden.

Gerenderte Markdown-Zelle

Gerenderte Markdown-Zelle nach der Ausführung

Code ausführen

In einer Code-Zelle kann Programmcode geschrieben werden. Das Ausführen der Zelle funktioniert auf die gleiche Weise wie bei einer Textzelle.

Code-Zelle mit Ausgabe

Ausführen einer Code-Zelle und Anzeige der Ausgabe

Notebook bearbeiten

Zellen lassen sich per Drag-and-Drop oder über die Symbole am rechten Rand der Zelle verschieben. Dort können Zellen auch gelöscht oder hinzugefügt werden.

Notebook exportieren

Nach Abschluss der Arbeit kann das Notebook in verschiedene Formate wie Markdown oder PDF exportiert werden. Dies erfolgt über das Menü File > Save and Export Notebook As ....

Exportoptionen im Datei-Menü

Exportoptionen im Datei-Menü

Hinweis zu Kernels

Jupyter Notebooks werden von sogenannten Kernels angetrieben, die den geschriebenen Code ausführen. Da jeder Kernel Arbeitsspeicher und Rechenressourcen verbraucht, sollten nicht benötigte Kernels beendet werden. Weitere Informationen finden sich auf der Seite Verwalten von Kernels und Terminals sowie im JupyterLab User Guide (auf Englisch).

Zum Üben kann das folgende Beispiel (in Python) verwendet werden. Es zeigt, wie ein Datensatz in einem Jupyter Notebook geladen, analysiert und visualisiert werden kann.

Beispiel: Analysieren und Visualisieren von Daten in Python

Schritt 1: Bibliotheken importieren

Zunächst werden die benötigten Bibliotheken für Datenanalyse und Visualisierung geladen.

import pandas as pd
import matplotlib.pyplot as plt

Verwendet werden:

  • pandas zur Datenbearbeitung.

  • matplotlib zur Erstellung von Grafiken.

Schritt 2: Datensatz laden

Als Nächstes wird ein Beispieldatensatz mit pandas geladen. In diesem Fall wird der bekannte „Iris“-Datensatz verwendet, der Informationen über verschiedene Blumenarten enthält.

# Iris-Datensatz laden
url = "https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv"
data = pd.read_csv(url)

# Die ersten fünf Zeilen des Datensatzes anzeigen
data.head()
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa

Der Code ruft den Datensatz von einer öffentlichen URL ab und gibt die ersten fünf Zeilen aus.

Schritt 3: Daten analysieren

In diesem Schritt wird die durchschnittliche Kronblattlänge („petal length“) für jede Iris-Art berechnet.

# Durchschnittliche Kronblattlänge pro Art berechnen
average_petal_length = data.groupby('species')['petal_length'].mean()
average_petal_length
species
setosa        1.462
versicolor    4.260
virginica     5.552
Name: petal_length, dtype: float64

Schritt 4: Daten visualisieren

Abschließend wird ein einfaches Balkendiagramm erstellt, das die durchschnittliche Kronblattlänge pro Art visualisiert.

# Balkendiagramm für die durchschnittliche Kronblattlänge erstellen
average_petal_length.plot(kind='bar', color=['skyblue', 'lightgreen', 'salmon'])
plt.title('Durchschnittliche Kronblattlänge pro Art')
plt.ylabel('Kronblattlänge (cm)')
plt.xlabel('Art')
plt.show()

Balkendiagramm der durchschnittlichen Kronblattlänge nach Iris-Art

Balkendiagramm der durchschnittlichen Kronblattlänge nach Iris-Art

Nützliche Links: