Willkommen
Kurz gesagt: Datenanalyse ist der Weg von der Frage zur Antwort: laden, bereinigen, rechnen, Diagramme und prüfen, hier mit Python, pandas und matplotlib direkt im Browser.
Problem
Die Zahl stimmt. Die Entscheidung nicht
Der Shop sieht, dass der Umsatz im Dezember gegenüber Oktober auf ein Zehntel gefallen ist. Der Chef stoppt die Werbung, wechselt den Lieferanten und senkt die Preise. Einen Monat später zeigt sich: Im Oktober haben zwei Kunden große Bestellungen für ihr Büro aufgegeben. Der Dezember war ein ganz normaler Monat.
Die Zahl in der Tabelle stimmte. Falsch war, was man daraus gefolgert hat. Genau darum geht es in der Datenanalyse: eine Frage mit Daten so zu beantworten, dass man der Antwort trauen kann.
Die Idee
Der Weg einer Analyse
Jede Analyse durchläuft dieselben Schritte, und der Kurs folgt ihnen:
- Die Frage. Was muss jemand mit der Antwort entscheiden? „Warum ist der Umsatz gefallen“ ist eine Frage. „Analysiere die Verkäufe“ ist keine.
- Die Daten. Welche Tabellen, ab wann, was eine Zeile bedeutet.
- Bereinigen. Leere Zellen, Duplikate, „1,60 €“ als Text, falsche Datumsangaben.
- Erkunden. Tabellen, Gruppen und Diagramme: was in den Daten steckt.
- Der Schluss. Ist der Rückgang echt oder Rauschen? Eine Ursache oder ein Zufall?
- Die Geschichte. Drei Sätze, ein Diagramm und die Grenzen der Antwort.
Hier siehst du, wohin du unterwegs bist: der Umsatz des Shops pro Monat, von den rohen Tabellen bis zum Diagramm. Drück auf „Ausführen“:
Den Code verstehst du Zeile für Zeile im Modul „Daten aufbereiten“. Das Diagramm stellt aber schon eine Frage: Die Monate springen stark. Ist der Dezember ein Rückgang oder Rauschen? Die Antwort steht im Statistikmodul.
Die Idee
Die Sandbox
Der Code in den Lektionen ist echtes Python, und es läuft in deinem Browser. Beim ersten Start wird Python geladen (etwa 13 MB), danach liegt es im Cache. Probier es aus, ändere dann die Preise und führe es noch einmal aus:
- Strg+Enter (⌘+Enter auf dem Mac) führt den Code aus, und „Code zurücksetzen“ holt das Beispiel zurück. Tab rückt ein.
- Die Ausgabe ist wie in einem Notebook: alles von
printund am Ende der Wert der letzten Zeile. Tabellen erscheinen als Tabellen und Diagramme als Bilder. - Ein Fehler wird erklärt: zuerst in Worten und mit der Zeilennummer, darunter steht das Original von Python, damit du es wiedererkennst, wenn du es auf deinem eigenen Computer siehst.
- Jeder Lauf beginnt von vorn. Die Variablen des vorigen Laufs sind weg, als hättest du das ganze Notebook von oben ausgeführt.
- Es gibt kein Netzwerk. Die Daten sind die Dateien neben dem Code: die Tabellen des Shops aus dem SQL-Kurs, in Euro.
- Code, der nach 10 Sekunden nicht fertig ist (eine Endlosschleife), wird gestoppt, und die Seite friert nicht ein.
Die Idee
Die Module
- NumPy: Arrays und Rechnen mit Tausenden von Zahlen ohne
for. - Tabellen mit pandas: auswählen, filtern, neue Spalten, Typen und fehlende Werte.
- Daten aufbereiten: Gruppen, Tabellen verbinden, breit und lang, Datumsangaben, schmutzige Daten.
- Diagramme: welches Diagramm für welche Frage und wie ein Diagramm lügt.
- Statistik für Entscheidungen: wie verrauscht eine Zahl ist, Intervalle, Hypothesentests, ein A/B-Test, Korrelation und Ursache.
- Modelle mit scikit-learn: Vorhersage, Klassifikation, Leakage und eine ehrliche Prüfung.
- Projekt: Warum der Umsatz gefallen ist: der ganze Weg mit den Daten des Shops.
Genauer, für Neugierige
Datenanalyse macht man auch in R (stark in der Statistik) und in Julia (schnell für numerische Arbeit). Die Branche ist überwiegend bei Python, deshalb ist der Kurs in Python. Die Ideen sind dieselben.
Die Idee
Was du wissen musst
Von Python brauchst du Listen, Dictionaries, for, Funktionen und Lambdas: den Kurs Python bis „Collections“. SQL hilft, ist aber nicht nötig: Gruppieren und Verbinden werden hier mit pandas noch einmal gelernt.
Im Browser brauchst du nichts. Für deine eigene Arbeit brauchst du Python und JupyterLab: das Notebook, in dem der Code in Zellen steht und die Ausgabe unter jeder Zelle. Mit uv legst du das Projekt so an:
uv init shop-analysiscd shop-analysisuv add pandas matplotlib scikit-learn jupyterlabuv run jupyter labOhne uv geht auch eine gewöhnliche virtuelle Umgebung:
python -m venv .venvsource .venv/bin/activatepip install pandas matplotlib scikit-learn jupyterlabjupyter labUnter Windows lautet der zweite Befehl .venv\Scripts\activate. VS Code öffnet Notebooks (die .ipynb-Dateien) ebenfalls, mit der Jupyter-Erweiterung. Diese Befehle laufen hier nicht.
Test