Zum Inhalt
wannacode

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:

  1. Die Frage. Was muss jemand mit der Antwort entscheiden? „Warum ist der Umsatz gefallen“ ist eine Frage. „Analysiere die Verkäufe“ ist keine.
  2. Die Daten. Welche Tabellen, ab wann, was eine Zeile bedeutet.
  3. Bereinigen. Leere Zellen, Duplikate, „1,60 €“ als Text, falsche Datumsangaben.
  4. Erkunden. Tabellen, Gruppen und Diagramme: was in den Daten steckt.
  5. Der Schluss. Ist der Rückgang echt oder Rauschen? Eine Ursache oder ein Zufall?
  6. 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“:

PythonDaten: die Tabellen des Shops

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:

PythonDaten: die Tabellen des Shops
  • 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 print und 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:

Terminal
uv init shop-analysis
cd shop-analysis
uv add pandas matplotlib scikit-learn jupyterlab
uv run jupyter lab

Ohne uv geht auch eine gewöhnliche virtuelle Umgebung:

Terminal
python -m venv .venv
source .venv/bin/activate
pip install pandas matplotlib scikit-learn jupyterlab
jupyter lab

Unter 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

Teste dich

1. Was kommt in der Datenanalyse zuerst?
2. Der Code in der Sandbox ruft pd.read_csv("https://example.com/sales.csv") auf. Was passiert?
3. Der Umsatz im Dezember beträgt 22,70 €, im Oktober waren es 255 €. Was ist der ehrliche Schluss?

Erstellt von Ivo Gergov im Rahmen der Kampagne von Evo Tech für zugängliche Programmierausbildung ·