Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Fehlerhafte Daten finden und bereinigen

Nach dieser Lektion: Ich kann fehlerhafte Daten finden und bereinigen.

Lektion, 50 Min.4 BefehleJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Der Fahrradverleih und die 99 Grad

Daten bereinigen heißt, Fehler in Daten zu finden und zu beheben, bevor man damit rechnet. Das ist oft der längste Teil jeder Datenarbeit.

Ein Fahrradverleih hat eine Datei mit einem Tag je Zeile. An einem Tag steht 99,9 Grad, an einem anderen minus 5 Leihen. Wer damit einen Durchschnitt rechnet, bekommt eine falsche Antwort.

Am Ende dieser Lektion

Notiz

Ich kann fehlerhafte Daten finden und bereinigen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
RohdatenDaten so, wie sie ankommen
Duplikatein Datensatz, der doppelt vorkommt
Fehlender Werteine Angabe, die nicht eingetragen istNone
Ausreißerein Wert, der weit weg von allen anderen liegt99.9 Grad
Mediander mittlere Wert einer geordneten Liste
BereinigenFehler in Daten finden und beheben

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Echte Daten sind selten sauber

Menschen tippen sich vertan, Geräte fallen aus, und zwei Dateien werden zusammengefügt. Darum stecken in Rohdaten fast immer Fehler.

Es gibt fünf typische Fehler. Lerne sie zu erkennen, dann findest du sie schnell.

Ein Beispiel: fünf typische Fehler

FehlerSo sieht er ausWas du tust
DuplikatDieselbe Zeile steht zweimal daEine Kopie behalten
Fehlender WertEin Feld ist leerZeile weglassen oder Wert ersetzen
AusreißerEine Temperatur von 99,9 GradAls Fehler behandeln
Falscher TypIn einer Zahlenspalte steht unbekanntZeile weglassen
Uneinheitlichsonnig, Sonnig und SONNIGAlles klein schreiben

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Fehler in einer echten Datei ansehen

Das Lab hat JupyterLab mit einer Datei hires.csv. Sie hat einen Tag je Zeile, die Spaltennamen sind englisch. Drück oben in der Leiste auf Lab starten und öffne das Terminal.

Die Befehle schauen nur hinein. Das Skript messy.py macht eine Kopie der Datei mit eingebauten Fehlern und zählt sie.

Die ersten Zeilen der Datei ansehen

Befehl
docker exec jupyter head -n 3 hires.csv

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Zeilen der Datei zählen

Befehl
docker exec jupyter wc -l hires.csv

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Eine Kopie mit Fehlern prüfen

Befehl
docker exec jupyter python3 steps/messy.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Gleiche Dinge müssen gleich geschrieben sein

Für einen Menschen sind Sonnig und sonnig dasselbe. Für den Computer nicht: Der Leerraum am Ende und der Großbuchstabe machen zwei verschiedene Texte.

Mit strip() schneidest du Leerraum am Rand ab. Mit lower() machst du alles klein.

Probier es: Schreibweisen vereinheitlichen

Code: python
wetter = ["Sonnig ", "SONNIG", "regnerisch"]
for eintrag in wetter:
    print("[" + eintrag.strip().lower() + "]")
# Füge "wolkig " in die Liste ein und starte noch einmal.

Fehlende Werte weglassen oder ersetzen?

Fehlt ein Wert, hast du zwei Wege. Du lässt die Zeile weg, oder du setzt einen Ersatz ein.

Als Ersatz taugt der Median gut. Er ist der mittlere Wert der geordneten Liste, und ein Ausreißer schiebt ihn kaum.

Probier es: Mittelwert und Median

Code: python
leihen = [210, 230, 250, 240, 900]
mittel = sum(leihen) / len(leihen)
geordnet = sorted(leihen)
median = geordnet[len(geordnet) // 2]
print("Mittelwert:", mittel)
print("Median:", median)
# Ersetze 900 durch 260 und starte noch einmal.

Die Kopie Schritt für Schritt bereinigen

Befehl
docker exec jupyter python3 steps/clean.py

Hier 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 denken, ein fehlender Wert lasse sich einfach mit 0 füllen. Das verfälscht jeden Durchschnitt, weil 0 ein echter Messwert ist. Nimm den Median der bekannten Werte oder lass die Zeile weg, und schreib auf, was du getan hast.

Über dieses Lab und seinen Quellcode: JupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.