TGViewer
Это считается Это считается @eto_schitaetsya · 4.3K subscribers
Post #545 2.81K
Дубликаты в данных: откуда берутся и почему с ними важно работать

Продолжаем говорить про 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@eto_schitaetsya
Telegram Это считается С чего начинается хорошая аналитика? В прошлом посте я рассказывал, почему без EDA нельзя делать ни аналитику, ни машинное обучение. Даже если продакт стоит над душой и требует цифры «ещё вчера». Теперь давай разберём первый и самый недооценённый шаг в …
  • 👍 17
  • ⚡ 5
  • 🔥 5
More from @eto_schitaetsya
  1. Sep 12, 2026Post #696
  2. Sep 11, 2026Погода к выходным немного испортилась 🌦🍂 Если ещё ничего не запланировали на субботу, ре…
  3. Sep 7, 2026И еще супер быстрый вопрос!!! Без чего нельзя катить фичу на прод? Ответы пишем сюда – по…
  4. Sep 7, 2026Ребята, ищем джуна-аналитика на нашу конференцию уже в эту субботу 👀 На «Продуктах 24 x f…
  5. Aug 31, 202612 сентября пройдет главная конференция Т-Банка для аналитиков, продактов и дизайнеров Про…
  6. Aug 26, 2026Профессия "продуктовый аналитик" в Т-Банке постоянно развивается. Наши коллеги вкладывают…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →