Например, одна и та же категория отображается в разных формах:
Код: Выделить всё
"USA", "U.S.A", "United States", "Usa"
"Male", "M", "male", "m"
Я попробовал базовый подход с использованием str.lower() и ручного сопоставления, но его невозможно масштабировать для тысяч категорий.
Вот что я сделал на данный момент:
Код: Выделить всё
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)
Существуют ли библиотеки или методы Python, которые могут автоматически обнаруживать и исправлять похожие категориальные значения?
Могу ли я использовать для этого нечеткое сопоставление или сходство строк (например, fuzzywuzzy или RapidFuzz)?
Какие лучшие практики используют специалисты по данным для поддержания качества и согласованности категориальных данных в масштаб?
Подробнее здесь: https://stackoverflow.com/questions/798 ... arge-datas
Мобильная версия