DB-Management: Datendubletten mit Python entfernen

Die Beseitigung von Datendubletten erfordert viel Handarbeit. Python bietet einige Bibliotheken und Tools, die helfen, dieses Ärgernis aus Listen zu entfernen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Lesezeit: 23 Min.
Von
  • Dr. Roland Pleger
Inhaltsverzeichnis

Theoretisch dürfte es sie nicht geben: Dubletten in Datenbanken. Dennoch tauchen sie auf, versteckt beispielsweise durch Falschschreibungen. Die schlechte Nachricht für Entwickler ist, dass das Entfernen viel Handarbeit erfordert. Zum Glück nimmt einem Python mit einigen Bibliotheken viel Arbeit ab. Am Beispiel vorprozessierter Testdaten erläutert dieser Artikel das Erkennen und Bewerten von Wortähnlichkeiten, das Erkennen und Entfernen von Dubletten, das Auswerten redundanter Informationen, das Erweitern von Tabellen und schließlich das Verknüpfen mit Join. Im Folgenden steht Dublette sinngemäß nicht nur für Doppeleinträge, sondern allgemein für Mehrfachnennungen.

Dieser Artikel demonstriert das Vorgehen beispielhaft an einer Liste von Restaurants. Die University of Texas stellt sie für Erkennungstests bereit. Ist es gut, wenn dort ein Name mehrfach auftaucht? Wäre sie die Grundlage für Fördergelder, würden Mehrfacheinträge ungerechtfertigt profitieren.

Python-Bibliotheken

Umgekehrt verhielte es sich mit der Zahl positiver Restaurantbewertungen, die sich durch die Aufteilung entsprechend verringerte. Die Situation entgleitet, wenn man Tabellen um Attribute aus anderen Quellen ergänzen will. Dubletten sind im relationalen Datenmodell nicht vorgesehen. Ein Schlüsselelement des relationalen Datenbankkonzepts ist die Redundanzfreiheit. Andernfalls versagt der typische SQL-Verbund mit Join.