Warum Daten mit pandas statt von Hand bereinigen?

Die Datenbereinigung in pandas lohnt sich, weil jeder Schritt dokumentiert ist und sich beim Export des nächsten Monats in Sekunden wiederholen lässt. Manuelle Korrekturen in einer Tabelle sind dagegen langsam, werden leicht vergessen und lassen sich nicht nachvollziehen.

Stellen Sie sich eine fiktive Gartencenter-Gruppe mit vier Standorten vor: Fernhill Gardens. Der Finanzanalyst Tomasz erhält monatlich eine CSV-Datei mit Onlinebestellungen. Im folgenden Beispiel erscheint dieselbe Bestellung zweimal, der Standortname ist unterschiedlich geschrieben, Beträge enthalten ein Währungssymbol und ein Komma, Datumsangaben beginnen teils mit dem Tag und teils mit dem Jahr, und fehlende Werte erscheinen als leere Felder, ‚nicht verfügbar‘ und ‚-‘. Die manuelle Bereinigung dauert einen Tag, und die Summen stimmen nie ganz mit dem Bericht des Zahlungsdienstleisters überein.

order_idsiteorder_dateamountpostcode
10231Leeds03/11/2026£1,240.00LS6
10231Leeds03/11/2026£1,240.00LS6
10232leeds2026-11-0486.50Nicht zutreffend
10233YORK05/11/2026-YO1
10234Harrogate142

Wie bereinigen Sie Daten mit pandas Schritt für Schritt?

Bereinigen Sie Daten in pandas, indem Sie beim Laden die Kennzeichnungen für fehlende Werte angeben, die Daten prüfen, Texte vereinheitlichen, Zahlen und Datumsangaben umwandeln, Duplikate entfernen, über den Umgang mit den verbleibenden Lücken entscheiden und das Ergebnis anschließend mit einer verlässlichen Gesamtsumme abgleichen. Diese Reihenfolge verhindert, dass eine Korrektur eine andere wieder rückgängig macht.

1. Geben Sie beim Laden die Kennzeichnungen für fehlende Werte an

Die pandas-Funktion read_csv liest die Datei in einen DataFrame ein. Mit dem Argument na_values können Sie zusätzliche Zeichenfolgen wie 'N/A' und '-' angeben, die als fehlende Werte behandelt werden sollen – ergänzend zu den Standardwerten, die pandas bereits erkennt, etwa leere Felder. Wenn Sie diese Angaben hier festlegen, müssen Sie später nicht danach suchen.

2. Prüfen Sie alles, bevor Sie etwas ändern

Sehen Sie sich mit head die ersten Zeilen an, mit info die Spaltentypen und die Anzahl der vorhandenen Werte und durch die Kombination von isna und sum die Anzahl der fehlenden Werte pro Spalte. Halten Sie Ihre Erkenntnisse fest: Bei Fernhill ist amount als Text gespeichert und order_date enthält unterschiedliche Formate.

3. Vereinheitlichen Sie den Text

Verwenden Sie die Zeichenfolgenmethoden für eine Spalte: str.strip entfernt Leerzeichen am Anfang und Ende, und str.lower oder str.title vereinheitlicht die Groß- und Kleinschreibung, sodass ' Leeds', 'leeds ' und 'LEEDS' zu einem einzigen Standort werden. Lassen Sie anschließend mit unique die eindeutigen Werte auflisten, um verbleibende Schreibvarianten zu finden.

4. Wandeln Sie Zahlen um

Entfernen Sie das Währungssymbol und das Komma als Tausendertrennzeichen mit str.replace und wandeln Sie die Werte anschließend mit to_numeric um. Wenn Sie dessen Argument errors auf coerce setzen, wird alles, was nicht verarbeitet werden kann, zu einem fehlenden Wert, statt die Verarbeitung abzubrechen. So können Sie diese Zeilen zählen und prüfen, anstatt sie unbemerkt zu verlieren.

5. Wandeln Sie Datumsangaben um

to_datetime wandelt Text in echte Datumswerte um. Geben Sie bei gemischten Formaten nach Möglichkeit ein explizites Format an oder setzen Sie dayfirst für Datumsangaben im britischen Format. Setzen Sie außerdem errors auf coerce, damit nicht lesbare Datumsangaben zu NaT werden, der Kennzeichnung für fehlende Datumswerte in pandas. Beachten Sie, dass dayfirst eine Präferenz und keine strikte Regel ist. Prüfen Sie daher die Ergebnisse.

6. Entfernen Sie Duplikate

drop_duplicates entfernt wiederholte Zeilen. Standardmäßig gilt eine Zeile nur dann als Duplikat, wenn alle Spalten übereinstimmen. Mit dem Argument subset lassen sich Duplikate anhand ausgewählter Spalten wie order_id erkennen. keep legt fest, ob die erste oder die letzte Kopie erhalten bleibt.

7. Entscheiden Sie, wie Sie mit verbleibenden Lücken umgehen

dropna entfernt Zeilen mit fehlenden Werten, verwirft standardmäßig aber bereits dann eine Zeile, wenn in irgendeiner Spalte ein Wert fehlt. Verwenden Sie das Argument subset, um nur Zeilen zu entfernen, in denen tatsächlich benötigte Werte wie amount fehlen, oder fillna, um eine Lücke mit einem festgelegten Wert zu füllen. Legen Sie anschließend mit astype die endgültigen Spaltentypen fest, zum Beispiel einen Kategorietyp für site.

Wie sieht ein schwacher und ein verbesserter Datenbereinigungsdurchlauf aus?

Der schwache Ansatz lädt die Datei mit read_csv, ruft dropna ohne Argumente und anschließend drop_duplicates ohne Argumente auf. Da die Postleitzahl häufig fehlt, entfernt dropna einen großen Teil der gültigen Bestellungen. Und weil sich ' Leeds' und 'leeds ' weiterhin unterscheiden, bleiben einige Duplikate bestehen. Der errechnete Umsatz ist viel zu niedrig, und niemand weiß, welche Zeilen entfernt wurden.

Der verbesserte Durchlauf kennzeichnet 'N/A' und '-' bereits beim Einlesen als fehlende Werte, entfernt bei site Leerzeichen am Anfang und Ende und schreibt die Anfangsbuchstaben der Wörter groß, wandelt amount nach dem Entfernen von '£' und Kommas mit to_numeric um, konvertiert order_date mit dayfirst und coerce, entfernt anhand von order_id erkannte Duplikate und behält dabei den ersten Eintrag. Gelöscht werden nur Zeilen, in denen amount fehlt. Anschließend gibt der Durchlauf aus, wie viele Zeilen jeder Schritt entfernt hat, und vergleicht den Gesamtumsatz mit dem Bericht des Zahlungsdienstleisters. Tomasz kann jetzt jede Abweichung erklären.

Wie prüfen Sie, ob die Datenbereinigung erfolgreich war?

Prüfen Sie die Datenbereinigung, indem Sie vor und nach jedem Schritt die Zeilen zählen, eine wichtige Gesamtsumme mit einer unabhängigen Quelle vergleichen und die Zeilen kontrollieren, deren Werte bei der Typumwandlung als fehlend gesetzt wurden. Führen Sie info erneut aus, um die Spaltentypen zu prüfen, und listen Sie die eindeutigen Werte für Kategorien wie Standort auf. Wenn ein Schritt mehr Zeilen als erwartet entfernt hat, sehen Sie sich diese an, bevor Sie fortfahren.

Wie kann ein KI-Assistent bei der Datenbereinigung mit pandas helfen?

Ein KI-Assistent kann die Schritte zur Datenbereinigung entwerfen, wenn Sie jede Spalte, ihre Probleme und die gewünschte Regel beschreiben. Er kann auch unbekannte Funktionen erklären. Beschreiben Sie die Struktur mit erfundenen Beispielwerten, statt echte Kundendaten wie Namen, Adressen oder vollständige Postleitzahlen einzufügen. Bitten Sie ihn, nach jedem Schritt die Zeilenanzahl anzugeben, und prüfen Sie jedes verwendete Funktionsargument anhand der offiziellen pandas-Dokumentation. Assistenten schlagen gelegentlich Optionen vor, die nicht existieren oder sich zwischen Versionen geändert haben.

Was sind häufige Fehler bei der Datenbereinigung mit pandas?

Der häufigste Fehler ist, dropna ohne Argumente aufzurufen und dadurch Zeilen zu verlieren, die bis auf eine optionale Spalte in Ordnung waren. Weitere Fehler: Duplikate entfernen, bevor Texte vereinheitlicht wurden, Datumsangaben umwandeln, ohne die Reihenfolge von Tag und Monat zu prüfen, die Originaldatei überschreiben und die bereinigte Gesamtsumme nie mit einem verlässlichen Wert vergleichen.

Wo ist diese Lektion bei Tosheo.ai eingeordnet?

Dies ist eine Programmierlektion in der Kategorie Datenwissenschaft und Datenanalyse des Datenwissenschaftskurses. Jedes Themengebiet bei Tosheo.ai beginnt mit Konzepten und praktischen Übungen ohne Programmierung. Die Programmierlektionen bilden einen optionalen Vertiefungspfad: Nach der Registrierung schreiben Sie in der vollständigen Praxisversion dieser Lektion jeden Bereinigungsschritt in Python mit pandas und führen ihn aus. Die Bewertung erfolgt anhand eines Kriterienrasters. Wenn Python für Sie neu ist, beginnen Sie mit dem Python-Kurs. Das Angebot vermittelt praktische Fähigkeiten; es ist weder ein Intensivkurs noch eine Arbeitsplatzgarantie.

Quellen und Geltungsbereich

pandas-Dokumentation: read_csv (geprüft am 19 October 2026) ↗

pandas-Benutzerhandbuch: Umgang mit fehlenden Daten (geprüft am 19 October 2026) ↗

pandas-Dokumentation: DataFrame.dropna (geprüft am 19 October 2026) ↗

pandas-Dokumentation: DataFrame.drop_duplicates (geprüft am 19 October 2026) ↗

pandas-Dokumentation: DataFrame.astype (geprüft am 19 October 2026) ↗

pandas-Dokumentation: to_numeric (geprüft am 19 October 2026) ↗

pandas-Dokumentation: to_datetime (geprüft am 19 October 2026) ↗

pandas-Dokumentation: Series.str.strip (geprüft am 19 October 2026) ↗