Sechs typische Fallstricke bei der Datenbereinigung – und wie du sie ohne zu programmieren in den Griff bekommst

Oft müssen wir die Daten bereinigen oder in eine andere Form bringen, damit wir sie analysieren können oder damit sie von einem Visualisierungs-Tool wie Datawrapper richtig interpretiert werden können. Sechs einfache Kniffe für die häufigsten Probleme.

3/21/2021

Oft müssen wir die Daten bereinigen oder in eine andere Form bringen, damit wir sie analysieren können oder damit sie von einem Visualisierungs-Tool wie Datawrapper richtig interpretiert werden können. In der Praxis nimmt dieser Arbeitsschritt nicht selten die meiste Zeit in Anspruch. Viele "Unreinheiten" können wir durch Suchen und Ersetzen in einem Text Editor (der standardmäßig auf jedem Computer zu finden ist) oder durch manuelle Änderungen und kleinere Funktionen in Excel / Google Spreadsheets beseitigen. Die meisten Datenjournalist*innen arbeiten allerdings mit Programmierskripten, um Bereinigungsschritte automatisiert wiederholen zu können.

Die häufigsten Probleme lassen sich aber auch wunderbar mit Kniffen in Excel oder Google Spreadsheet, einige auch mit freien Programmen lösen.

1. Falsches Trennzeichen

Wenn du eine CSV in Excel oder in Datawrapper öffnest, und die Infos nicht in einzelne Zellen aufgetrennt werden, sondern beispielsweise Komma getrennt in einer einzigen Spalte stehen, dann wird das Trennzeichen nicht richtig erkannt. In einigen Programmen kannst du beim Datenimport das Trennzeichen festlegen. Alternativ kannst du das CSV im Text Editor öffnen und mit "Suchen und Ersetzen" das Trennzeichen durch ein anderes, beispielsweise durch Semikolon austauschen. Achte dabei darauf, dass es das neue Trennzeichen nicht schon im Datensatz gibt, mit einer anderen Bedeutung. Oder, dass das aktuelle Trennzeichen in einer anderen Form, beispielsweise in Text, nochmal vorkommt. Dann zerschießt du dir mit solchen Ansätzen die Tabellenstruktur erst recht.

2. Dezimalzeichen / Tausendertrennzeichen wird vom Programm falsch interpretiert

Wird eine Tausenderzahl plötzlich als kleine Dezimalzahl erkannt, oder eine Dezimalzahl als Tausenderzahl oder sogar als Wort (in vielen Programmen als "String" oder "Character" bezeichnet), dann liegt das daran, dass in deinem Datensatz ein anderes Zeichen verwendet wird, als das Programm erwartet. Punkte sind im Deutschen Tausendertrennzeichen, Kommas Dezimalzeichen. In den USA ist das beispielsweise andersherum. Deshalb kann es passieren, dass Programme kommagetrennte Daten mit Punkten als Dezimalzeichen erwarten.

Deutsche CSV-Tabellen sind häufig semikolongetrennt (;) und unsere Dezimalzahlen haben Kommas (,). Du kannst diese Zeichen beim Import festlegen, oder du suchst und ersetzt sie in einem Text Editor. Achte bei der Visualisierung und auch beim Rechnen mit deienn Daten also immer darauf, ob die Werte richtig erkannt wurden. Sonst berichtest du nachher noch von einem mittleren Einkommen von 3,5 Euro – statt 3500.

3. Die Daten sind in mehreren Files und müssen zu einem zusammengefügt werden

Wenn du mehrere CSV-Tabellen hast, die du zu einer zusammenführen willst, kannst du das beispielsweise manuell durch zusammenkopieren der Daten machen. Das führt allerdings zu viel Arbeit, wenn die Reihenfolge nicht dieselbe ist. Hast du beispielsweise einen Datensatz mit dem mittleren Einkommen je Bundesland, und einen mit der Anzahl Arbeitnehmer*innen je Bundesland, aber die Reihenfolge der Bundesländer ist nicht dieselbe, dann kannst du beide Datensätze nicht einfach nur zusammenkoüieren. Du müsstest zumindest durch sortieren und einen manuellen Check sicherstellen, dass die Reihenfolge stimmt. Das hilft dir aber auch nicht weiter, wenn die eine Tabelle nur 14 der 16 Bundesländer enthält. Besser ist es also, eine intelligente Zusammenführung zu nehmen, bei der das Programm von selbst nur diejenigen Werte miteinander verknüpft, die wirklich zum gleichen Bundesland gehören.

Haben beide Datensätze eine gemeinsame Spalte, beispielsweise eine ID-Spalte mit PLZs oder eine Spalte mit (gleich geschriebenen) Namen, kann der Funke Data-Merger helfen. In diesem Tool lädst du beide Datensätze hoch, wählst die Spalte aus, über die sie verknüpft werden sollen, und bekommst am Ende deine intelligent-automatisch zusammengeführte Datentabelle. Auch andere Tools haben solche Merge-Funktionen.

4. ID-Spalte ist nicht sauber

Du hast eine ID-Spalte, doch vor oder nach der ID stehen noch weitere Informationen, wie der Stadtname, die nicht überall exakt gleich und so nicht einfach durch "Suchen und Ersetzen" zu bereinigen sind? In Excel / Google Spreadsheets gibt es Funktionen, mit denen man beispielsweise die ersten X Zeichen löschen, alles außer die letzten X Zeichen herauslösen oder nur den numerischen Teil eines Strings herauslösen kann. Diese findet ihr für gewöhnlich durch einfaches googlen.

Ein Beispiel: Mit der Funktion =LINKS(Zellnummer; Anzahl Zeichen) löse ich hier die ersten fünf Zeichen aus der Zelle A2 heraus in eine neue Zelle B2. Ich kann dann in die neue Zelle mit der Formel klicken und am blauen Viereck die Formel auf weitere Zellen ziehen und anwenden.

Screenshot: ID-Spalte säubern in Excel / Google Spreadsheet

In jeder Zelle der Spalte B liegt nun die Funktion, die aus der Spalte A die ersten fünf Zeichen zieht. Löscht du die Spalte A, wirft die Funktion in Spalte B einen Fehler. Möchtest du nur die Werte aus Spalte B speichern, ohne die Funktion, kannst du den Inhalt der Spalte kopieren, einen Rechtsklick auf die Stelle, ab der du die Daten einfügen willst, machen und dann > Inhalte einfügen > nur Werte einfügen auswählen.

5. Führende Nullen bei der ID sind verloren gegangen

Öffnest du eine Tabelle mit Software wie Excel oder Google Spreadsheet, dann interpretieren diese Programm deine Daten und ändern gerne mal was (was dir mit dem Öffnen über einen Text Editor nicht passiert). Unter anderem kann mal die ein oder andere führende Null bei IDs wie Postleitzahlen oder Gemeindeschlüsseln verloren gehen, weil das Programm die Werte als Zahlen versteht und die führenden Nullen für unnötigen Ballast hält.

Statistische IDs haben gewöhnlich eine feste Länge. Der amtliche Gemeindeschlüssel von Kreisen und kreisfreien Schlüsseln ist beispielsweise fünfstellig. Die ersten zwei Zeichen stehen für das Bundesland. 16 steht für Thüringen, 08 für Baden-Württemberg. Gehen die vorangestellten Nullen verloren, kann das Zahlenformat der ID-Spalte auf "00000" eingestellt werden. So fügst du nur dann führende Nullen hinzu, wenn die Zahl nicht fünfstellig ist. In Google Spreadsheet findest du die Einstellung unter Format > Zahl > Weitere Formate > Benutzerdefiniert. Warum das nötig ist? Wenn du Daten aus mehreren Tabellen zusammenführen, oder beispeilsweise geografische Gebiete mit den dazugehörigen Zahlen verknüpfen willst, dann müssen die IDs in beiden Dateien exakt gleich sein. Sonst kann die intelligent-automatische Zuordnung der Werte nicht vollständig funktionieren.

6. Daten müssen transponiert werden

Manchmal brauchst du die Daten in einer transponierten Form, damit du eine Analyse anwenden oder ein Grafik Tool benutzen kannst. RAWGraphs und Datawrapper brauchen beispielsweise eine Spalte, in der die Zeitangaben sind. Hat dein Datensatz je Zeitangabe eine Spalte (beispielsweise je eine Spalte pro Jahr), dann kannst du ihn transponieren, sodass es nur noch eine Spalte mit allen Zeitangaben gibt. Funktionen gibt es dafür in Excel und Google Spreadsheet, du kannst den Datensatz aber zum Beispiel auch in RAWGraphs laden und unten rechts die Option wählen, die Daten zu stacken.

  1. Ungestackte Daten, eine Zeile je Jahr

    Ungestackte Daten im sogenannten Wide Format

  2. Gestackte Daten, eine Spalte, welche alle Jahre enthält

    Gestackte Daten im sogenannten long format

7. Ein anderes Problem

Wenn du mit diesen sechs Kniffen nicht zum Ziel kommst, dann brauchst du auf keinen Fall verzweifeln. Für jedes Datenbereinigungsproblem gibt es da draußen irgendeine Lösung, im Zweifel eine programmatische. Google dein Problem, am besten auf Englisch, oder bitte jemanden, der sich öfter mit Daten beschäftigt, um Rat oder Hilfe. Bei vielen Problemen, wie unterschiedlichen Schreibweisen im selben Datensatz, können mächtigere Programme wie Open Refine (quasi Excel auf Speed) mit ihren Regex-Algorithmen helfen, vieles lässt sich auch über einfaches Excel-Funktionen, schlaues "Suchen und Ersetzen" oder eingebaute Hilfstools von Datawrapper oder RAWGraphs lösen. Und am Ende bieten immer noch Programmiersprachen wie R oder Python eine individuelle Lösung.