Wird morgen viel los sein?
Ein Fahrradverleih muss jeden Morgen entscheiden, wie viele Räder er hinausstellt. Zu wenige, und Leute gehen zu Fuß weiter. Zu viele, und die Räder stehen im Regen. Ein Jahr Aufzeichnungen beantwortet die Frage besser als ein Bauchgefühl, wenn du sie lesen kannst.
Am Ende dieser Lektion
Notiz
Ich kann mit pandas eine Datentabelle laden und zusammenfassen.
Schlüsselwörter
- Datensatz: eine Sammlung von Einträgen zu einem Thema.
- CSV-Datei: eine als Text gespeicherte Tabelle, ein Eintrag pro Zeile, Kommas zwischen den Werten.
- DataFrame: eine Tabelle in pandas, mit benannten Spalten.
- Mittelwert: die Summe geteilt durch die Anzahl der Werte.
- Notebook: eine Seite aus Code, Ergebnissen und Text, die Zelle für Zelle ausgeführt wird.
- Modell: eine aus Daten gewonnene Regel, die einen Wert vorhersagt.
Zum Einstieg: was du schon weißt
Notiz
Antworte im Kopf. 1. Was steht in einer Zeile einer Tabelle? 2. Wie berechnest du den Mittelwert von 2, 4 und 6? 3. Was macht print in Python? Alle drei brauchst du in dieser Lektion. Antworten: ein Eintrag; zusammenzählen und durch 3 teilen, das ergibt 4; es zeigt einen Wert auf dem Bildschirm an.
Bevor du anfängst
Notiz
Klicke oben in der Leiste dieser Lektion auf Lab starten und warte, bis dort steht, dass es läuft. Es gibt einen Container, jupyter, und das Terminal erreicht sein Python mit docker exec jupyter, das einen Befehl darin ausführt. Der Link JupyterLab öffnet seine Webseite, Port 8888. Jede Schaltfläche Ausführen unten tippt ihren Befehl ins Terminal deines Labs, einen nach dem anderen in derselben Sitzung. Wenn du zuschauen oder eigene Befehle tippen willst, klicke in der Leiste auf Terminal öffnen (neuer Tab).
Ein Datenprojekt ist ein Ordner mit Daten und Code
ls listet den Arbeitsordner auf: die Daten hires.csv (die Ausleihen), das Notebook start.ipynb und den Ordner steps. cat zeigt das erste Skript. Es sind vier Zeilen Python: pandas laden, die Datei lesen und dann ihre Größe und ihre ersten Zeilen ausgeben.
docker exec jupyter lsHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
docker exec jupyter cat steps/load.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
pandas liest eine CSV-Datei in einen DataFrame
pd.read_csv liest die ganze Datei in einen DataFrame namens hires. Die Antwort beginnt mit (365, 7): 365 Zeilen, eine pro Tag, und 7 Spalten. Danach kommen die ersten fünf Zeilen. Die erste ist der 1. Januar 2025, ein bewölkter Mittwoch bei 0,9 Grad, mit 137 ausgeliehenen Rädern.
docker exec jupyter python3 steps/load.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Eine Zusammenfassung beschreibt eine ganze Spalte
describe fasst eine Spalte in acht Zahlen zusammen. Die Spalte hires hat einen Mittelwert von 270,3 Rädern am Tag, einen ruhigsten Tag mit 41 und einen vollsten mit 487. Das zweite Skript teilt die Zeilen mit groupby nach dem Wetter auf und bildet den Mittelwert jeder Gruppe: sunny (sonnig) 312,2, cloudy (bewölkt) 267,0 und rainy (regnerisch) 227,6.
docker exec jupyter python3 steps/summary.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
docker exec jupyter python3 steps/weather.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Prüfe dich
Tipp
Nach welcher Spalte hat groupby die Zeilen aufgeteilt, und bei welchem Wetter gab es die meisten Ausleihen? Antwort: nach der Spalte weather, und an sonnigen Tagen, mit einem Mittelwert von 312,2.
Ein Diagramm zeigt, was eine Tabelle verbirgt
Matplotlib zeichnet Diagramme. Dieses Skript setzt für jeden Tag einen Punkt, waagerecht die Temperatur und senkrecht die ausgeliehenen Räder, und speichert das Bild als hires.png. Öffne es in JupyterLab aus der Dateiliste: Die Punkte steigen von links nach rechts, an wärmeren Tagen ist also mehr los.
docker exec jupyter python3 steps/picture.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein Modell macht aus dem Muster eine Regel
scikit-learn passt eine lineare Regression an: eine Regel als gerade Linie von Temperatur und Regen zu den Ausleihen. Die Antwort sagt: Ein Grad mehr bringt etwa 11,2 Ausleihen, ein Millimeter Regen mehr kostet etwa 8,2. Das Bestimmtheitsmaß R² ist 0,776, die Regel erklärt also etwa drei Viertel der Schwankung von Tag zu Tag.
docker exec jupyter python3 steps/model.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Fehler
Warnung
Viele glauben, ein Modell, das gut passt, zeige die Ursache einer Veränderung. Es zeigt nur, dass sich die Werte in diesen Daten gemeinsam bewegen. An warmen Tagen ist mehr los, aber sie sind auch trockener und fallen im Sommer öfter auf ein Wochenende. Sag „hängt zusammen mit“ und nicht „verursacht“, solange nichts anderes es beweist.
Dieselbe Arbeit in einem Notebook
Öffne JupyterLab über die Leiste und doppelklicke auf start.ipynb. Es macht, was die fünf Skripte gemacht haben, Zelle für Zelle. Klicke in eine Zelle und drücke Umschalt und Eingabe, um sie auszuführen. Die Antwort erscheint unter der Zelle, das Diagramm auf der Seite. Die letzte Zelle ist für deine eigene Frage.
Abschlussprüfung
Tipp
Antworte, ohne zurückzuschauen. 1. Welche pandas-Funktion liest eine CSV-Datei? 2. Wie viele Zeilen hat hires.csv, und warum genau so viele? 3. Welche Methode teilt die Zeilen in Gruppen auf? 4. Beweist ein gut passendes Modell die Ursache einer Veränderung? Antworten: pd.read_csv; 365, eine für jeden Tag von 2025; groupby; nein, es zeigt nur, dass sich die Werte gemeinsam bewegen.
Für Lehrkräfte
Tipp
Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab abläuft: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. Das Lab ist ein Dienst, JupyterLab mit pandas, NumPy, Matplotlib und scikit-learn, und nichts hier bewertet sich selbst: Die Lernenden geben ein eigenes Notebook zu hires.csv ab, aus JupyterLab heruntergeladen, und einen Satz dazu, was es gezeigt hat. Kernpunkte: 1. pandas liest eine CSV-Datei in einen DataFrame. 2. describe und groupby fassen eine Spalte zusammen. 3. Ein Diagramm und ein Modell zeigen ein Muster. Häufiger Fehler: eine gute Anpassung für eine Ursache halten. Material: das Lab und ein Browser. Tipp: Lassen Sie die Lernenden jede Zahl schätzen, bevor sie auf „Ausführen“ klicken. Die Daten sind aus einem festen Startwert erzeugt, jede Kopie liefert also dieselben Zahlen. Kopieren Sie die Lektion in Ihr eigenes Modul und ändern Sie sie, oder bauen Sie im Lektionseditor über das Menü Lab eine neue von Grund auf.