Дубликаты в данных: откуда берутся и почему с ними важно работатьПродолжаем говорить про EDA. Один из частых источников искажений в аналитике — дубликаты. Они могут незаметно влиять на показатели: увеличивать количество пользователей, транзакций или заказов, создавать иллюзию активности и «раздувать» отчёты. Поэтому выявление и обработка дубликатов — обязательный этап в рамках EDA.Дубликаты бывают двух типов:▪️Явные — полные копии строк, где значения совпадают по всем колонкам. Их легко обнаружить с помощью df.duplicated() и удалить через df.drop_duplicates().▪️Неявные — строки, которые описывают один и тот же объект, но отличаются по формату. Например:▪️"USER@mail.ru" и "user@mail.ru"▪️"ООО Ромашка" и "О.О.О. Ромашка"▪️"Иванов И.И." и "Иванов Иван"Такие дубликаты сложнее заметить, и с ними приходится работать вручную или через нормализацию данных.Основные причины появления дубликатов:▪️Повторная выгрузка или объединение таблиц без фильтрации.▪️Ошибки при джойне.▪️Разные источники с разной структурой.▪️Отсутствие стандартизации ввода данных.▪️Человеческий фактор (опечатки, лишние пробелы, регистр).Что помогает:✔️ Приведение строк к единому регистру .str.lower()✔️ Удаление пробелов .str.strip() и лишних символов .str.replace()✔️ Поиск дубликатов по ключевым колонкам с помощью duplicated(subset=...)✔️ В отдельных случаях — предварительная агрегация или группировкаЛайфхак: duplicated(subset=...) особенно полезен, когда в таблице есть автоинкрементные ID. Такие поля делают строки уникальными, хотя по сути данные могут дублироваться. Например, если один и тот же пользователь сделал два одинаковых заказа — разный order_id, но одинаковые user_id, product_id и order_date. В этом случае duplicated(subset=['user_id', 'product_id', 'order_date']) поможет найти дубли, которые не видны при обычной проверке.Перед тем как удалять строки, важно понимать контекст: действительно ли это дубли, или просто схожие, но разные записи. Особенно аккуратно нужно действовать в случае неявных дубликатов — иногда лучше провести дополнительный анализ, чем потерять важные данные.Дубликаты — это не просто технический шум. Это риск искажения выводов, особенно в метриках, связанных с уникальными пользователями, заказами или событиями. Их стоит проверять в самом начале работы с данными.В следующем посте — разберёмся с пропущенными значениями: от типовых NaN до «пустых» строк, которые такими не являются.#eda
Оставить комментарий/отзыв