0%

Wo Python seine Stärken hat

Daten analysieren und wissenschaftlich arbeiten

Hier sind ein paar Geschäftsdaten.

MonatErfasste Bestellungen
Januar102
Februar118
März171

Was können wir mit Sicherheit sagen? Dass beim März die größte Zahl in dieser Tabelle steht. Mehr tatsächlich nicht.

Bevor ich die Tabelle für irgendetwas verwende, würde ich wissen wollen, was die Spaltenbezeichnung bedeutet, ob in allen drei Monaten gleich gezählt wurde und ob Datensätze fehlen. Die Rechnung kann perfekt und die Antwort trotzdem wertlos sein.

Das ist die ganze Lektion im Kleinen. Python kann sehr gut rechnen, prüfen, erkunden und erklären. Es kann eine unklare Frage oder unzuverlässige Informationen nicht vertrauenswürdig machen.

Die Arbeit ist eine Kette, keine einzelne Rechnung

Daten sind aufgezeichnete Informationen, die wir untersuchen können: Verkäufe, Temperaturen, Umfrageantworten, wissenschaftliche Messungen, Website-Aktivität und Millionen anderer Dinge.

In der Praxis durchläuft Datenarbeit mehrere Schritte: von den Rohdaten über Bereinigen und Prüfen, Erkunden, Analysieren und Erklären bis zum Bericht, Diagramm oder Produkt:

raw records
     ↓
clean and check
     ↓
explore
     ↓
analyze
     ↓
explain
     ↓
report, chart, or product

Rohdaten sind die Informationen so, wie sie zuerst erfasst wurden. Dazu gehören fehlende Werte, Tippfehler, doppelte Zeilen, unklare Bezeichnungen und drei verschiedene Schreibweisen derselben Stadt. Daten zu bereinigen bedeutet, zu korrigieren, was sich korrigieren lässt, und zu dokumentieren, was sich nicht korrigieren lässt. Sie zu erkunden bedeutet, nach Mustern und nach Dingen zu suchen, die falsch aussehen.

Bei jedem dieser Pfeile trifft ein Mensch eine Entscheidung. Pythons Aufgabe ist es, diese Entscheidungen umzusetzen.

Warum Python die ganze Kette abdeckt

Python kann Informationen aus Dateien, Datenbanken, Websites, wissenschaftlichen Messgeräten und anderen Systemen holen. Es kann die Datensätze bereinigen, Berechnungen ausführen, ein Diagramm zeichnen, den Bericht erstellen und das Ergebnis an ein anderes Programm weitergeben.

Diese Bandbreite ist die eigentliche Stärke. Ein Team kann die ganze Kette in einer Sprache bearbeiten, statt für jeden Schritt ein anderes Werkzeug zusammenzufügen. Und die bereinigten Daten können in eine tiefergehende Analyse oder in das Backend einer Website weiterfließen.

Die Spezialwerkzeuge sind Pakete: pandas für Informationen in beschrifteten Tabellen, NumPy für große Gruppen von Werten und numerische Arbeit, SciPy für etablierte wissenschaftliche Methoden. Du musst dir nicht merken, welches was macht. Entscheidend ist, dass es hier leistungsfähige, ausgereifte Datenwerkzeuge gibt, denen Menschen seit Jahren echte Forschung anvertrauen.

Ein Teil der aufwendigen Berechnungen läuft überhaupt nicht als gewöhnlicher Python-Code. Er findet innerhalb der Bibliothek statt, in Code, der genau für diese Operation entwickelt wurde. Python bleibt der Ort, an dem ein Mensch die Arbeit beschreibt und verbindet. Diesem Aufbau sind wir schon in Lektion 1.2 begegnet, und wir werden ihn noch zweimal sehen.

Wegen seiner Bandbreite, der Verbindungsmöglichkeiten und der ausgereiften Werkzeuge ist Python für Datenarbeit und wissenschaftliche Aufgaben gut geeignet.

Was Python nicht leisten kann

Zurück zu den drei Monaten. Python könnte sofort den größten Wert und den Durchschnitt finden und ein Diagramm zeichnen. Nichts davon verrät dir, ob Erfasste Bestellungen aufgegebene, bezahlte oder versandte Bestellungen meint.

Angenommen, in einem Monat wurden nur Onlinebestellungen gezählt, in einem anderen auch die aus dem Laden. Die Zahlen wären perfekt gespeichert und perfekt verrechnet, und der Vergleich wäre trotzdem Unsinn.

Angenommen, ein System fiel aus und die Datensätze eines Tages gingen verloren. Python kann das nicht wissen, wenn kein Mensch oder eine andere Prüfung darauf hinweist.

Angenommen, das Ergebnis ist überraschend. Das könnte eine Entdeckung sein. Es könnte ein Programmfehler sein. Jemand, der das eigentliche Fachgebiet versteht, muss herausfinden, was davon zutrifft.

Deshalb braucht Datenarbeit Programmierkenntnisse und Fachwissen zusammen. Das Zweite ist nicht optional. Eine medizinische Forscherin, ein Klimaforscher, eine Finanzanalystin, ein Journalist und eine Ladenbesitzerin können dieselben Python-Werkzeuge verwenden und trotzdem völlig unterschiedliches Wissen brauchen, um eine sinnvolle Frage zu stellen und die Antwort zu beurteilen. Das Werkzeug unterstützt eine Schlussfolgerung. Ein Mensch bleibt dafür verantwortlich.

Und was ist mit R?

R ist eine weitere Sprache, die dafür entwickelt wurde, aus Daten zu lernen und Diagramme zu zeichnen. Sie unterstützt sehr viele statistische Methoden und Grafiken.

Welche Sprache passt, hängt von den benötigten Methoden, der vorhandenen Arbeit, den Menschen in deinem Umfeld und den Gepflogenheiten deines Fachgebiets ab. Eine Forschungsgruppe mit fünfzehn Jahren bewährter R-Arbeit hat keinen Grund, das alles wegzuwerfen. Eine andere Gruppe bevorzugt vielleicht Python, weil sie die Analyse mit einer Website oder einem größeren Produkt verbinden möchte. Viele Gruppen nutzen beides.

Mehr erfahren

Die offizielle pandas-Dokumentation zeigt die Bandbreite eines der wichtigsten Datenpakete für Python. Die Einführung des R-Projekts beschreibt R in eigenen Worten. Beide englischen Quellen sind optional.