Was kann ein Jupyter Notebook?

In diesem Jupyter Notebook werden ein paar Features von Jupyter Notebooks präsentiert. Jedes Dokument (wie auch dieses) besteht aus Zellen. Die zwei typischen Zell-Arten sind Markdown und Code. Diese werden im Folgenden vorgestellt.

Dies ist eine Markdown-Zelle. Hier kann Markdown-Code stehen. Der Feature-Umfang wird in diesem Handbuch-Eintrag von Jupyter Notebook erklärt. Klicken Sie doppelt auf diese Zelle, um in den Editier-Modus zu wechseln. Sobald Sie fertig sind, klicken Sie auf , um in den Darstellungsmodus zurück zu wechseln.

Statt Markdown kann so eine Zelle auch

HTML-Code enthalten

und es gibt eine Unterstützung für \(\LaTeX\): So können Formeln wie \(\frac{n!}{k!(n-k)!} = \binom{n}{k}\) geschrieben werden.

Hier verwende ich Markdown, um ein Bild von einer externen Webseite einzubetten

image0

Markdown und HTML kommen an manchen Stellen an ihre Grenzen, z. B. stoßen IFrames manchmal an die Grenzen des Machbaren. Allerdings kann man auch über eine Code-Zelle dieses Problem lösen.

[ ]:
# Youtube-Videos sind auch möglich
from IPython.display import YouTubeVideo
YouTubeVideo("ctOM-Gza04Y", 560, 315)
[ ]:
# Hier steht valider Python-Code
4 + 2
[ ]:
# Im Code können Visualisierungen erstellt werden

import matplotlib.pyplot as plt

data = {
    'apples': 10,
    'oranges': 15,
    'lemons': 5,
    'limes': 20
}

names = list(data.keys())
values = list(data.values())

plt.bar(names, values)
plt.show()
[ ]:
# Fehlermeldungen werden ebenfalls direkt unter der Code-Zelle angezeigt.
3 / 0

Jupyter-Notebook-spezifische Funktionalitäten

Wir können ebenfalls einsehen, was wir bislang in welcher Reihenfolge ausgeführt haben. Dabei werden nur Code-Zellen berücksichtigt. Eine ausführliche Einleitung gibt es im Python Data Science Handbook.

[ ]:
for i, in_i in enumerate(In):   # In der Liste "In" werden alle Inputs gespeichert
    print(f"In[{i}]:\n{in_i}")  # Betrachten Sie im Jupyter Notebook oben die In[x]-Bezeichner, das sollte übereinstimmen
    print("-" * 80)             # Erzeuge eine visuelle Trennung der Eingaben

Die Zellen eines Jupyter Notebooks werden immer in der Reihenfolge ausgeführt, wie Sie sie ausführen. Es werden nie Zellen für Sie im Hintergrund ausgeführt. Sie können also Zellen in einer beliebigen Reihenfolge ausführen - also hypothetisch gesprochen auch von der untersten Zelle eines Dokuments rückwärts bis zur obersten Zelle. Vermutlich passt dies aber nicht zur intendierten Reihenfolge des Autors des Notebooks.

Achten Sie besonders auf die Reihenfolge der Ausführung, wenn Sie Objekte modifizieren oder Variablen überschreiben, die in mehreren Zellen vorkommen. Dann führt das wiederholte Ausführen einer Zelle u. U. zu Fehlern oder einem unerwünschten Verhalten. Hier ein kurzes Beispiel:

[ ]:
# Führen Sie zuerst diese Zelle aus
x = 7
[ ]:
# Überspringen Sie zunächst diese Zelle
x + 5
[ ]:
# Führen Sie als zweites diese Zeile aus
x = None
# Nun führen Sie erst die Zelle in der Mitte aus

Wie Sie erkennen können, ist es nur wichtig, in welcher Reihenfolge Sie als ausführende Person die Zellen ausführen. Die Reihenfolge im Dokument hilft dabei, die Zellen in der richtigen Reihenfolge von oben nach unten auszuführen. Gut designte Jupyter Notebooks erlauben es, jederzeit auch zurückzuspringen und Code erneut auszuführen. Wenn Sie Variablen überschreiben, kann das Verhalten bei einer ungeordneten Ausführung unvorhersagbar sein.

Creative Commons Lizenzvertrag     Dieses Werk von Marvin Kastner ist lizenziert unter einer Creative Commons Namensnennung 4.0 International Lizenz. Dies betrifft nur diese Komposition und nicht die inkludierten Werke anderer Künstler.