Zum Beispiel erscheint dieselbe Kategorie in verschiedenen Formen:
Code: Select all
"USA", "U.S.A", "United States", "Usa"
"Male", "M", "male", "m"
Ich habe einen einfachen Ansatz mit str.lower() und manueller Zuordnung versucht, aber er ist nicht für Tausende von Kategorien skalierbar.
Das habe ich bisher gemacht:
Code: Select all
import pandas as pd
df = pd.read_csv("dataset.csv")
# Normalize case
df['country'] = df['country'].str.lower().str.strip()
# Replace known variations
mapping = {
'usa': 'united states',
'u.s.a': 'united states',
'u.s.': 'united states'
}
df['country'] = df['country'].replace(mapping)
Gibt es Python-Bibliotheken oder -Techniken, die ähnliche kategoriale Werte automatisch erkennen und korrigieren können?
Kann ich dafür Fuzzy-Matching oder String-Ähnlichkeit (wie Fuzzywuzzy oder RapidFuzz) verwenden?
Welche Best Practice verwenden Datenwissenschaftler, um die Datenqualität und -konsistenz für kategoriale Daten aufrechtzuerhalten? Maßstab?
Mobile version