Что важно знать
- NumPy: массивы, broadcasting, векторные операции.
- pandas:
groupby,merge,pivot_table,applyи почему его избегать. - Ловушки: дубли после merge,
SettingWithCopyWarning, типы дат. - Большие данные: чтение по частям, Polars, DuckDB.
Массивы и векторизация, таблицы, группировки, объединения, работа со временем.
groupby, merge, pivot_table, apply и почему его избегать.SettingWithCopyWarning, типы дат.Практика. Провести анализ открытого датасета поездок такси — очистка, агрегации, объединение со справочником.
Практика. Ускорить медленный скрипт обработки на pandas минимум в 10 раз векторизацией и сравнить с Polars.
Практика. Перенести расчёт признаков на сотни миллионов событий в Spark и сократить время расчёта, разобрав план выполнения.
Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.
Сначала понять, почему значение пропущено: технический сбой, «не применимо» (нет второго адреса), пользователь не захотел указывать. Пропуск часто несёт информацию. Варианты: исключить строки (если пропусков мало и они случайны), заполнить (медианой…
Полный разборВекторные операции над столбцами (df["a"] df["b"], np.where, .str, .dt) выполняются в C над массивами. apply по строкам и циклы iterrows вызывают Python-функцию на каждую строку — медленнее в десятки–сотни раз. Для больших данных: правильные типы (category…
Полный разборgroupby — разбить, применить агрегат, собрать (split-apply-combine): df.groupby("city")["amount"].agg(["sum", "mean"]). merge — соединение таблиц по ключам, как SQL JOIN (how="left", on=). Ловушки: размножение строк при дублях ключа, NaN-ключи отбрасываются в…
Полный разборndarray — массив чисел одного типа в непрерывной памяти; операции над ним (a + b, a 2, np.sqrt(a), a @ b) выполняются в C над всем массивом сразу — в десятки раз быстрее цикла Python. Broadcasting — правило, по которому массивы разной формы приводятся друг к…
Полный разборЦель EDA — понять данные до модели: структура (строки, столбцы, типы, единицы, что такое одна строка), качество (пропуски, дубли, выбросы, ошибки ввода), распределения признаков и целевой переменной, связи между признаками и с целевой, время (тренды…
Полный разборИндекс — DatetimeIndex (pd.to_datetime и set_index). resample("D") меняет частоту с агрегатом (события → сумма по дням, дни → недели). rolling(7) — скользящее окно (среднее за 7 последних точек; с индексом времени — rolling("7D")). shift(n) — сдвиг на n…
Полный разборПосле собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.