Best Practices für Jupyter Notebooks
Nummerierte Zellen, Ausgaben vor dem Commit löschen und papermill für die parametrisierte Ausführung verwenden.
Best Practices für Jupyter Notebooks ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Das zweischneidige Schwert der Notebooks
Jupyter-Notebooks eignen sich hervorragend zum Erkunden: Führen Sie Code in Zellen aus, sehen Sie Diagramme direkt im Notebook und iterieren Sie schnell. Dieselbe Flexibilität führt jedoch zu unübersichtlicher und nicht reproduzierbarer Arbeit, wenn Sie nicht diszipliniert vorgehen.
In dieser Lektion geht es um Gewohnheiten, die Ihre Notebooks übersichtlich und vertrauenswürdig halten.
Verborgener Zustand: das Kernproblem
Sie können Zellen in beliebiger Reihenfolge ausführen, und frühere Ergebnisse bleiben im Speicher erhalten. Dieser verborgene Zustand bedeutet, dass ein Notebook korrekte Ausgaben anzeigen kann, die sich bei einer neuen Ausführung nicht reproduzieren lassen.
Fast jede Best Practice für Notebooks dient dazu, den verborgenen Zustand zu bekämpfen.
Zellen der Reihe nach ausführen
Die Ausführungsnummern ([1], [2] neben den Zellen) sollten von oben nach unten ansteigen. Nummern in der falschen Reihenfolge wie [7] über [3] sind ein Warnsignal dafür, dass das Notebook auf einem verborgenen Zustand beruht.
Schreiben Sie Notebooks so, dass sie beim geradlinigen Lesen von oben nach unten verständlich sind.
Kernel neu starten und alles ausführen
Die goldene Regel lautet: Bevor Sie einem Notebook vertrauen oder es committen, wählen Sie Kernel → Restart & Run All. Dadurch wird der Speicher geleert und jede Zelle von Grund auf ausgeführt.
Wenn die Ausführung von oben nach unten fehlerfrei funktioniert, ist das Notebook reproduzierbar. Wenn sie fehlschlägt, haben Sie Fehler durch verborgenen Zustand gefunden.
Zellen fokussiert halten
Ein logischer Schritt pro Zelle macht Notebooks übersichtlich und erneut ausführbar. Vermeiden Sie riesige Zellen, die zehn Dinge erledigen, aber auch viele winzige Zellen, auf die eine einzelne Operation verteilt ist.
Verwenden Sie Markdown-Zellen, um Abschnitte wie in einem Bericht zu erläutern.
Wiederverwendbaren Code in Module verschieben
Wenn sich eine Funktion als nützlich erweist, verschieben Sie sie aus dem Notebook nach src/ und importieren Sie sie. So bleiben Notebooks schlank, der Code wird testbar, und durch Copy-and-paste entstehende Abweichungen zwischen Notebooks werden vermieden.
from src.features.build_features import make_features
X = make_features(df) # logic lives in a tested moduleDas Problem mit Ausgabediffs
Notebooks speichern Zellenausgaben – Text, große Tabellen und Base64-Bilder – im .ipynb-JSON. Wenn Sie diese committen, werden Git-Diffs riesig und unübersichtlich, außerdem können Daten offengelegt werden.
Die Lösung: Entfernen Sie die Ausgaben vor dem Committen.
Ausgaben mit nbstripout entfernen
nbstripout entfernt Ausgaben automatisch aus Notebooks. Installieren Sie es als Git-Filter, damit die Ausgaben bei jedem Commit entfernt werden, ohne dass Sie daran denken müssen.
# pip install nbstripout
nbstripout --install # adds a git filter for this repo
# now committed notebooks have clean, output-free diffsNotebooks mit papermill parametrisieren
papermill führt ein Notebook programmgesteuert mit injizierten Parametern aus, ähnlich wie beim Aufruf einer Funktion. Kennzeichnen Sie eine Zelle als parameters, und papermill überschreibt diese Werte bei jedem Lauf.
# pip install papermill
# papermill analysis.ipynb out.ipynb -p dataset "may.csv" -p seed 42Parametrisierte Ausführungen im Code
Sie können papermill auch aus Python heraus steuern, um dasselbe Analyse-Notebook mit vielen Eingaben auszuführen – eine saubere Möglichkeit, Experimente stapelweise auszuführen.
import papermill as pm
for ds in ["jan.csv", "feb.csv", "mar.csv"]:
pm.execute_notebook(
"analysis.ipynb",
f"out_{ds}.ipynb",
parameters={"dataset": ds, "seed": 42},
)Checkliste für saubere Notebooks
Bevor Sie ein Notebook teilen oder committen:
- Starten Sie den Kernel neu und führen Sie alle Zellen aus – die Ausführung muss fehlerfrei durchlaufen
- Die Zellen werden von oben nach unten mit ansteigenden Ausführungsnummern ausgeführt
- Wiederverwendbare Logik wurde in
src/verschoben - Ausgaben wurden entfernt (nbstripout)
- Markdown erläutert den Ablauf
Schnelltest: Einem Notebook vertrauen
Bevor Sie ein Notebook committen, möchten Sie bestätigen, dass es reproduzierbar und frei von Fehlern durch verborgenen Zustand ist.
Rückblick: Best Practices für Notebooks
Sie haben gelernt, Notebooks übersichtlich und reproduzierbar zu halten:
- Bekämpfen Sie den verborgenen Zustand – führen Sie Zellen der Reihe nach aus
- Restart & Run All, bevor Sie einem Notebook vertrauen oder es committen
- Verschieben Sie wiederverwendbaren Code in
src/-Module - nbstripout, um Ausgaben zu entfernen und saubere Git-Diffs zu erhalten
- papermill für parametrisierte, stapelweise ausgeführte Notebooks
Damit ist der Kurs zur Projektstruktur von KI-Projekten und zum Git-Workflow abgeschlossen.
Häufig gestellte Fragen
Ist die Lektion „Best Practices für Jupyter Notebooks“ kostenlos?
Ja — der vollständige Text von „Best Practices für Jupyter Notebooks“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Best Practices für Jupyter Notebooks“?
Nummerierte Zellen, Ausgaben vor dem Commit löschen und papermill für die parametrisierte Ausführung verwenden. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Best Practices für Jupyter Notebooks“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Professionelle Verzeichnisstruktur für KI-Projekte
- Git für KI-Projekte
- Reproduzierbarkeit: Seeds, Konfigurationen und Umgebungen
- Best Practices für Jupyter Notebooks