Was ein Notebook ist

Ein Jupyter-Notebook ist ein Dokument, das Code, dessen Ausgabe und erläuternden Text in einer Datei zusammenhält und zellenweise ausgeführt wird. Die Datei trägt die Endung .ipynb und enthält beides: Eingabe und die zuletzt erzeugte Ausgabe. Genau darin liegt der Nutzen für Analytics – eine Auswertung und ihre Begründung stehen nebeneinander – und genau daraus folgen zwei Probleme: der Zustand der Laufzeit und die Reihenfolge der Zellen.

Drei Begriffe, die auseinandergehalten werden müssen

  • Notebook – die Datei. Sie liegt bei Colab in Google Drive und enthält Zellen und deren letzte Ausgabe.
  • Laufzeit (englisch runtime) – die virtuelle Maschine, auf der der Code ausgeführt wird. Sie gehört Google, wird zugeteilt und wieder eingezogen.
  • Kernel – der Python-Prozess in dieser Laufzeit, der die Variablen im Arbeitsspeicher hält. Er ist es, den ein „Sitzung neu starten“ beendet.

Wer diese drei verwechselt, kann die Fehlermeldungen nicht deuten, die entstehen, wenn eines von ihnen verschwindet.

Colab ist eine von Google gehostete Jupyter-Umgebung. Die Notebooks liegen in Google Drive, die Rechenleistung stellt Google. Es gibt Alternativen mit demselben Dateiformat: Jupyter lokal installiert, Deepnote, Kaggle Notebooks, ein hochschuleigener JupyterHub. Ein .ipynb wechselt zwischen ihnen ohne Umbau – die Datei ist der gemeinsame Nenner, nicht die Plattform.

Hinweis. Bei den in dieser Lernumgebung gezeigten Tools handelt es sich um eine Auswahl – diese ist weder als Empfehlung noch als Werbung zu verstehen. Colab steht hier, weil es ohne Installation und ohne Kosten auskommt; alles Gelernte gilt gleichermaßen für jede andere Jupyter-Umgebung.

Inbetriebnahme

Voraussetzung ist ein Google-Konto; installiert wird nichts. Prüfen Sie zuerst, ob Ihr Hochschulkonto Colab freigibt – das entscheidet die Konfiguration der Hochschule, nicht Google. Ist der Dienst dort gesperrt, lesen Sie vor dem Ausweichen auf ein privates Konto den Abschnitt zum Datenschutz weiter unten.

1 colab.research.google.com aufrufen und anmelden 2 Datei → Neues Notebook (das Notebook landet in Drive unter „Colab Notebooks“) 3 Oben links auf „Untitled0.ipynb“ klicken und umbenennen 4 In die erste Zelle print("Hallo") schreiben, Strg+Enter 5 Laufzeit → Laufzeittyp ändern → CPU (für Tabellenauswertungen genügt das)

Schritt 5 verdient eine Bemerkung: Der Hardwarebeschleuniger ist verlockend, aber für pandas nutzlos. Eine Grafikkarte beschleunigt das Training neuronaler Netze, nicht das Gruppieren einer Tabelle. Wer sie „vorsichtshalber“ anfordert, verbraucht ein knappes Kontingent für nichts.

Zustand: der eigentliche Stoff

Die Laufzeit ist eine virtuelle Maschine, die Ihnen geliehen wird. Sie endet – bei Untätigkeit nach etwa neunzig Minuten, spätestens nach bis zu zwölf Stunden, und sofort, wenn Sie den Browser-Tab schließen. Dabei verschwindet alles, was in ihr lag. Was im Einzelnen verschwindet, hängt davon ab, ob nur der Kernel neu startet, die Laufzeit gelöscht wird oder der Tab morgen wieder aufgeht.

Was Sitzung neu starten Laufzeit trennen und löschen Tab schließen, morgen wieder öffnen
Das Notebook (Code und Text) bleibt bleibt bleibt (liegt in Drive)
Variablen im Arbeitsspeicher weg weg weg
Dateien unter /content/ bleiben weg weg
Mit pip installierte Pakete bleiben weg weg
Dateien unter /content/drive/MyDrive/ bleiben bleiben bleiben
Die im Notebook gespeicherten Ausgaben bleiben sichtbar, sind aber nicht mehr „lebend“ bleiben sichtbar bleiben sichtbar

Die Falle: sichtbare Ausgabe ohne lebende Variable

Wenn Sie ein Notebook morgen wieder öffnen, sehen Sie alle Tabellen und Diagramme von gestern – sie stehen in der Datei. Der DataFrame, aus dem sie entstanden sind, existiert allerdings nicht mehr. Die nächste Zelle, die df benutzt, scheitert mit NameError: name 'df' is not defined, obwohl df zwei Zellen weiter oben scheinbar gefüllt ist. Dagegen hilft ein Reflex: Laufzeit → Alle ausführen, bevor irgendetwas anderes versucht wird.

Die Reihenfolge der Zellen

Ein Notebook hat zwei Reihenfolgen: die, in der die Zellen im Dokument stehen, und die, in der sie ausgeführt wurden. Die zweite steht in den eckigen Klammern links neben jeder Code-Zelle: [1], [2], [17]. Weichen die beiden voneinander ab, ist das Ergebnis von einer Vorgeschichte abhängig, die im Dokument nicht steht.

Der Prüfsatz

Ein Notebook ist genau dann brauchbar, wenn es nach Sitzung neu starten und Alle ausführen fehlerfrei von oben nach unten durchläuft und dasselbe Ergebnis liefert. Alles andere ist ein Arbeitsstand, kein Ergebnis. Diese Prüfung dauert eine Minute und gehört vor jede Abgabe – sie ist das Analogon zur Frage aus der Vorlesung, ob ein Untersuchungsdesign nachvollziehbar, transparent und reproduzierbar ist.

Zwei Gewohnheiten, die das erleichtern: Alle import-Anweisungen und %pip install-Zeilen stehen in der ersten Zelle. Und Zellen, die etwas verändern – Spalten umbenennen, Werte ersetzen, Zeilen entfernen –, sind so geschrieben, dass ein zweiter Durchlauf nichts kaputt macht. df = df.drop(columns=["x"]) scheitert beim zweiten Mal; df = df.drop(columns=["x"], errors="ignore") nicht.

Daten hineinbekommen

Drei Wege, mit sehr unterschiedlichen Eigenschaften. Der erste ist für die Lehre der beste, weil er ohne Zutun reproduzierbar ist: Wer das Notebook öffnet, hat auch die Daten.

Was beim Einbinden von Drive tatsächlich passiert

Der Bestätigungsdialog gibt Colab Zugriff auf das gesamte Drive des angemeldeten Kontos, nicht nur auf einen Ordner. Für eine Übung mit synthetischen Daten ist das unproblematisch. Für ein privates Konto mit Steuerunterlagen und Bewerbungsschreiben ist es eine Entscheidung, die man bewusst treffen sollte – und die man umgehen kann, indem man die Datei einfach hochlädt.

Zugangsdaten

In Lab 03 und Lab 05 verbinden Sie sich mit der Datenbank hotel. Das Notebook des Projekts liest seine Verbindungs-URL aus dem Secrets-Panel (Name HOTEL_DB_URL) – auch das Kennwort der Leserolle steht in keiner Code-Zelle, obwohl es im README des Repos öffentlich ist. Ein Notebook, das Sie nach GitHub speichern, nimmt seinen Inhalt mit – und der Schlüssel steht dann dauerhaft in der Versionsgeschichte, wo ihn Suchmaschinen und automatische Prüfwerkzeuge finden.

Die Regel für den ganzen Kurs, in einem Satz: Kein Geheimnis in einer Datei, die weitergegeben wird. Bei Colab heißt das Secrets-Panel, bei einem lokalen Projekt eine .env-Datei, die in .gitignore steht, bei einem Container eine Umgebungsvariable. Drei Werkzeuge, ein Grundsatz.

Notebook und Repository

Colab kann ein Notebook direkt aus einem GitHub-Repository öffnen und auch dorthin zurückspeichern. Der Weg hinein läuft über eine URL, die man sich merken kann, weil sie nur den Anfang der GitHub-Adresse ersetzt.

Ein Colab-Speichervorgang nach GitHub erzeugt einen gewöhnlichen Commit – samt allen Zellausgaben. Das bläht das Repository auf, macht jeden Unterschied unlesbar und kann Daten preisgeben, die in einer df.head()-Ausgabe stehen. Das Gegenmittel: vor dem Speichern Bearbeiten → Alle Ausgaben löschen – so liegt auch das Notebook der Fallstudie im Repository swrobuts/hotel, ohne Ausgaben.

Grenzen, Kosten, Datenschutz

Kostenlose Nutzung

Kostet nichts und garantiert nichts. Es gibt keinen Anspruch auf eine bestimmte Hardware; der Zugang zu Grafikkarten ist ausdrücklich stark eingeschränkt. Die Laufzeit endet bei Untätigkeit und spätestens nach bis zu zwölf Stunden. Wer eine Rechnung braucht, die zu einem bestimmten Zeitpunkt fertig ist, plant nicht mit dem kostenlosen Kontingent.

Bezahlte Stufen

Die bezahlten Stufen rechnen mit einem Guthaben aus Recheneinheiten; ist es verbraucht, gelten wieder die Regeln der kostenlosen Nutzung. Für die Übungen dieses Kurses ist keine bezahlte Stufe nötig. Das befristete kostenlose Hochschulangebot von Google gilt ausdrücklich nur für Einrichtungen in den USA und steht deutschen Hochschulen nicht offen.

Wo die Daten liegen

Laufzeiten und Drive liegen bei Google in den USA. Jede hochgeladene Datei mit Personenbezug ist damit eine Übermittlung in ein Drittland. Für die Übungen dieses Kurses ist das ohne Belang, weil ausschließlich synthetische Daten verwendet werden – und genau deshalb wird das so gehandhabt.

Was nicht hineingehört

Echte Kunden-, Personal- oder Studierendendaten, auch aus Praxisprojekten und Abschlussarbeiten. Wer für eine Arbeit mit Unternehmensdaten rechnen muss, klärt das vorab mit dem Unternehmen und weicht auf eine lokale Installation oder eine hochschuleigene Umgebung aus. Das ist keine Formalie: Der Betrieb einer Auswertung ist eine Verarbeitung, und die braucht eine Rechtsgrundlage.

KI-Vervollständigung

Colab schlägt Code vor und sendet dazu Kontext an Google. In Grundlagenveranstaltungen lässt sich das je Notebook abschalten – aus demselben Grund, aus dem man in einer Klausur keinen Taschenrechner mit gespeicherten Formeln zulässt: Der Übungsgewinn liegt im Selbstschreiben.

Arbeitsspeicher

„Sitzung abgestürzt nach Verwendung des gesamten RAM“ ist eine Größenangabe: Der Arbeitsspeicher der Laufzeit war voll. Gegenmittel in dieser Reihenfolge: nur benötigte Spalten lesen (usecols=), Datentypen setzen (dtype=), in Abschnitten lesen (chunksize=). Erst danach lohnt der Gedanke an mehr Hardware.

Übungen

Fünf Übungen. Zwei davon sind Checklisten, die Sie in Colab selbst abarbeiten – dafür brauchen Sie ein zweites Browserfenster. Die drei anderen prüfen, ob das Modell von Laufzeit und Zustand sitzt.

Zusammenfassung