
Поиск дубликатов в данных на Python: разбор подходов
Дубликаты в датасете портят агрегаты и раздувают базу. Разбираем, чем set отличается от pandas.duplicated, как ловить нечёткие совпадения и где каждый подход ломается на реальных данных.

Дубликаты в датасете портят агрегаты и раздувают базу. Разбираем, чем set отличается от pandas.duplicated, как ловить нечёткие совпадения и где каждый подход ломается на реальных данных.

Наивное сравнение двух логов построчно загрузило память до 4 ГБ на файле в 800 МБ. Разбираем, почему difflib и чтение целиком ломаются на больших данных и чем их заменить.

difflib, filecmp, hashlib и слияние данных — какой инструмент решает вашу задачу, где каждый ломается и чем платите за выбор в реальном проекте.

Три задачи — «одинаковы ли два файла», «что изменилось построчно» и «найди дубликаты в тысяче файлов» — решаются разными инструментами. Разбираем, что выбрать и чем платишь за каждый вариант.

Как отсортировать список словарей сразу по нескольким полям и не наступить на грабли с обратным порядком, None и смешанными типами. Разбор на рабочих примерах для Python 3.x.

За 15 минут разберётесь, как сортировать список словарей и кортежей сразу по двум-трём полям — например, сначала по фамилии, потом по возрасту, где-то по возрастанию, где-то по убыванию.

Как отсортировать список словарей сразу по нескольким полям — сначала по одному, потом по другому, да ещё в разных направлениях. Разбираем sorted, key, itemgetter и приём с reverse на конкретных данных.

За 15-20 минут вы поставите Jupyter в изолированное окружение, запустите первый ноутбук и поймёте разницу между .ipynb и обычным .py, чтобы не потерять данные ячеек.

Данные из API и БД почти всегда приходят как список словарей. Разбираем группировку, сортировку, фильтрацию и поиск по такой структуре в Python 3.11+.

Данные из API приходят списком словарей. Разбираем на реальном примере, как их фильтровать, группировать и агрегировать без циклов на пол-экрана — и где привычный подход даёт баги.

Данные из JSON и CSV в Python почти всегда приходят как список словарей. Разбираем, как их читать, фильтровать, группировать и сортировать без циклов на каждый чих.

За 15 минут вы поставите Jupyter в изолированное окружение, откроете первый .ipynb и запустите ячейку с кодом. Разберём, почему падает pip, где браузер не находит ядро и как не сломать системный Python.