Распродажа

Курс по аналитике данных: От Excel до Python и Power BI

Собираете, обрабатываете и представляете данные — от Excel и Python до SQL и Power BI

Первоначальная цена составляла 1,190 грн.Текущая цена: 490 грн.

-60%
Вы экономите: 700 грн (60%)
До конца акции:06дн14час18мин55сек

−20% при покупке от 2 курсов — активируется автоматически

Без опыта в программировании сложно понять, с чего начать путь в дата-аналитику и какой из десятков инструментов учить в первую очередь. Курс проводит по всему стеку дата-аналитика — от формул Excel и установки Python до SQL-запросов и обработки кликстрима — и заканчивается сборкой отчёта в Power BI для заказчика.

  • Обрабатываете данные кодом на Python — библиотеками NumPy и Pandas
  • Пишете SQL-запросы и работаете с базами SQLite, PostgreSQL и MongoDB
  • Собираете отчёт в Power BI со связанными таблицами и внешним источником данных
Add to Cart
Курс Аналитик данных
Курс по аналитике данных: От Excel до Python и Power BI
1,190 грн Первоначальная цена составляла 1,190 грн.490 грнТекущая цена: 490 грн.
  • 33 часа 19 минут видео
  • 183 урока в 29 модулях
  • Скачивается на компьютер
  • Доступ навсегда, без дедлайнов
  • Сертификат по запросу

Цифровой видеокурс для самостоятельного изучения, без обратной связи с преподавателем. После оплаты курс появится в вашем аккаунте на сайте, а ссылка на материалы придёт на email.

Покупка занимает минуту
  1. Добавляете курс в корзину.
  2. Вводите почту и пароль — это ваш аккаунт, в нём курс будет храниться постоянно.
  3. Оплачиваете любым удобным способом — их больше восьми.
  4. Курс сразу открывается в аккаунте, ссылка дублируется на почту.

Доступ навсегда: вернуться к курсу можно и через год. Вопросы — чат на сайте или info@siluette.com.ua.

Курс ведётся на русском языке: видео и материалы русскоязычные. Украинская версия курса появится позже.

Что вы сможете после курса

  • Строить сложные формулы и сводные таблицы в Excel, включая ВПР, ГПР и условное форматирование
  • Писать код на Python — от переменных и циклов до классов, наследования и обработки исключений
  • Обрабатывать массивы и таблицы данных библиотеками NumPy и Pandas
  • Составлять SQL-запросы для выборки, агрегации и изменения данных в реляционных базах
  • Читать и записывать данные в форматах CSV, JSON, Excel, HDF5 и базах SQLite, PostgreSQL, MongoDB
  • Строить отчёт в Power BI со связями между таблицами по модели «Звезда» и внешними источниками данных

Кому подойдёт курс

Начинающим с нуля

Обучение начинается с объяснения формулы Excel как «чёрного ящика» и пошаговой установки Anaconda и PyCharm — шаги рассчитаны на человека без опыта программирования.

Тем, кто хочет сменить профессию

Вводный урок сопоставляет дата-аналитика со смежными ролями — дата-инженером и специалистом по машинному обучению — и разбирает типичные рабочие задачи: выгрузку отчёта, проверку гипотезы, сбор сегмента для рекламной кампании.

Тем, кто работает с сайтом или интернет-магазином

Отдельные блоки про воронку продаж, кликстрим, Google Analytics и Яндекс.Метрику разбирают аналитику сайтов и интернет-магазинов, а не только офлайн-отчётность.

Курс не подойдёт тем, кто ищет практику машинного обучения или разработку кластерных решений для больших данных — эти темы курс только обозначает, не разбирая с нуля.

Как проходит обучение

  • Каждый новый урок начинается с разбора домашнего задания предыдущего — Ошибки в решении разбираются сразу, а не копятся до конца курса
  • Материал закрепляется сквозной практикой — от учёта сотрудников в Excel до модели логистики склада на Python — Вы применяете инструмент на связной задаче, а не на разрозненных примерах
  • Мастер-класс по воронке продаж разбирает один сквозной кейс от сырого журнала посещений до причины падения конверсии — Вы видите, как работа аналитика выглядит целиком — от сырых данных до вывода
  • Параллельно разбираются Excel, Python, SQL и Power BI — Вы осваиваете весь набор инструментов дата-аналитика, а не один из них
  • Отдельный блок разбирает типичные способы манипуляции цифрами в чужих отчётах — Вы умеете проверить чужую статистику, а не только строить свою

Что понадобится

  • Excel любой актуальной версии
  • Python: дистрибутив Anaconda и редактор PyCharm Community — бесплатно
  • Power BI Desktop — бесплатная версия

Почему самому обычно не выходит

Самостоятельно человек обычно осваивает один инструмент — либо Excel, либо Python — и застревает на стыке: данные лежат в базе, а привычные формулы Excel с ней не работают, или код на Python есть, но нет SQL-запроса, чтобы забрать из базы нужные строки.

Без структуры трудно понять, какая часть стека вообще нужна: инструменты Big Data вроде Hadoop и Spark выглядят обязательными, хотя для большинства задач дата-аналитика достаточно Excel, Python, SQL и Power BI, а работа с кластерами нужна только в отдельных случаях.

Отдельная сложность — читать чужие отчёты и презентации критически: манипуляция средними значениями, масштабом графика или процентными пунктами вместо процентов встречается часто, и без разбора конкретных приёмов такие искажения остаются незаметными.

Что изменится

До курса

  • Excel — это только таблица с числами, без формул и сводных отчётов
  • Данные в базе недоступны без разработчика — нет SQL-запроса, чтобы их забрать
  • Код на Python — абстракция, а не рабочий инструмент для обработки данных
  • Цифры в чужом отчёте принимаются на веру
  • Отчёт для заказчика — это статичный график, а не связанная модель данных

После курса

  • Excel считает, сортирует и визуализирует данные сводными таблицами и диаграммами
  • SQL-запрос выбирает и агрегирует данные из базы самостоятельно, без разработчика
  • Python и библиотеки NumPy и Pandas обрабатывают массивы и таблицы данных
  • Манипуляция средними, масштабом графика или процентными пунктами распознаётся сразу
  • Отчёт в Power BI связывает несколько таблиц по модели «Звезда» и подключает внешний источник данных

Как устроен путь

  1. Excel и данные Формулы и функции — от простейших до вложенных условий, сводные таблицы и визуализация — закладывают базовую работу с таблицами данных.
  2. Python с нуля Установка Anaconda и PyCharm, переменные, циклы, функции, классы и исключения доводятся до сквозной практики — симуляции логистики склада.
  3. SQL и хранилища Запросы SELECT, JOIN и группировка разбираются на реляционных базах, а чтение и запись данных — на форматах CSV, JSON, HDF5 и базах SQLite, PostgreSQL, MongoDB.
  4. Статистика и отчёт для заказчика Распределения, корреляции и доверительные интервалы, разбор манипуляций статистикой и сборка отчёта в Power BI с моделью «Звезда» завершают курс.

Программа курса

183 урока · 29 модулей · 33 часа 19 минут видео · Весь путь — от таблиц Excel до отчёта в Power BI — с практикой на каждом шаге.

  • Раздел показывает место дата-аналитика среди смежных профессий — дата-инженера и специалиста по машинному обучению — и разбирает типичные рабочие задачи: выгрузку отчёта, проверку гипотезы, сбор сегмента для рекламной кампании.

    • Профессия дата-аналитика и обзор курса7:53

      Урок показывает переход от интуитивных решений к подходу на основе данных и место дата-аналитика среди смежных профессий обработки данных — сбора данными занимаются инженеры, а сложные задачи передаются специалистам по машинному обучению. На примере подбора аудитории для рекламы разбираются типичные задачи аналитика: выгрузка отчёта из хранилища, проверка гипотезы, сбор сегмента для рекламной кампании. Перечисляются темы курса: Excel, статистика и теория вероятностей, интернет-аналитика, Python, SQL и Power BI.

  • Раздел вводит понятия данных, информации и знаний, разбирает устройство реляционных и нереляционных баз, ETL и OLAP-кубы, а также сравнивает Tableau и Power BI как инструменты построения дашбордов.

    • Введение и основные понятия1:35

      Урок вводит понятия данных, информации и знаний и намечает темы модуля: базы данных, файлы, хранилища и озёра данных, а также дашборды.

    • Данные, их хранилища и базы20:39

      Урок систематизирует места хранения данных — от операционных систем и хранилищ до баз данных — и разбирает устройство реляционной модели, ER-модели, СУБД, OLAP-кубов и нереляционных хранилищ.

    • Инструменты для работы с базами данных5:55

      Урок сравнивает Python и визуальные средства доступа к базам данных по их возможностям и ограничениям и показывает интерфейс одного из визуальных инструментов на примере подключения и построения ER-диаграммы.

    • Неструктурированные данные и инструменты работы с ними14:29

      Урок разбирает форматы CSV и JSON для передачи данных между системами, типичные ошибки Excel при импорте CSV и критерии выбора инструмента — Excel, Python или база данных — в зависимости от объёма и регулярности задачи.

    • Дашборды6:02

      Урок объясняет отличие дашборда от обычного отчёта и сравнивает две системы визуализации данных — Tableau и Power BI — по возможностям, простоте освоения и стоимости.

  • Раздел разбирает простейшие формулы и основные функции Excel — отправную точку для дальнейшей работы с таблицами данных.

    • Простейшие формулы40:13

      Вводим понятие формулы как «чёрного ящика» с входными и выходными значениями на примере таблицы сотрудников: базовые арифметические формулы, автозаполнение, объединение текста через амперсанд и разница между относительными и абсолютными ссылками на ячейки.

    • Основные функции19:18

      Знакомимся с именованными функциями Excel — СУММ, СРЗНАЧ, МИН и МАКС: как вставлять их через «Автосумму» или вручную указывать диапазон ячеек, и как находить английские эквиваленты русских названий формул.

  • Раздел показывает способы ввода функций через мастер функций, функцию ВПР с интервальным просмотром, функцию ГПР, условную функцию ЕСЛИ и текстовые формулы.

    • Способы ввода функций. Мастер функций, функция ВПР30:37

      Три способа ввода функций в Excel — вручную, по категориям и через мастер функций — и разница между копированием формулы и копированием только значения. Отдельно разбирается функция ВПР: поиск значения по таблице соответствия с точным совпадением и закреплением диапазона абсолютными ссылками.

    • Функция ВПР с интервальным просмотром10:40

      Функция ВПР с интервальным просмотром: вместо точного совпадения формула подбирает значение по попаданию числа в диапазон, например при расчёте скидки по сумме покупок. Разбирается разница с точным поиском и ошибка «нет данных», возникающая при неверном режиме.

    • Функция ГПР7:41

      Функция ГПР — горизонтальный аналог ВПР с тем же набором аргументов, но поиском по строкам, а не по столбцам. На примере таблицы заказов с шапкой слева показывается поиск данных по коду заказа с фиксацией диапазона абсолютными ссылками.

    • Функция ЕСЛИ7:16

      Условная функция ЕСЛИ, которая возвращает одно из двух значений в зависимости от логического выражения. На примере расчёта премии по отработанным часам разбирается порядок аргументов: условие, значение при истине и значение при лжи.

    • Текстовые формулы17:35

      Текстовые функции Excel для очистки и структурирования данных: СЖПРОБЕЛЫ убирает лишние пробелы, ПРОПНАЧ и ПРОПИСН приводят регистр букв к нужному виду. Функции ПОИСК, ДЛСТР и ПРАВСИМВ применяются вместе для разделения полного имени на фамилию и имя.

  • Раздел разбирает вложенные формулы, комбинацию условий через функции И и ИЛИ, подсчёт и сумму по условию, а также поиск по нескольким условиям и маскам.

    • Вложенные формулы15:47

      Урок показывает вложенные формулы на примере ступенчатого расчёта премии: одна функция ЕСЛИ подставляется аргументом в другую, что убирает необходимость во вспомогательных столбцах. Правило премии усложняется до трёх ступеней в зависимости от отработанного времени и стажа, а итоговая формула объединяет обе проверки в одну.

    • Комбинация нескольких условий. Функция И13:15

      Урок посвящён логической функции И: она проверяет истинность нескольких условий одновременно и в связке с функцией ЕСЛИ используется для начисления премии по двум критериям — отработанному времени и стажу. Показан приём сворачивания вложенной формулы из вспомогательных столбцов в одну.

    • Комбинация нескольких условий. Функция ИЛИ5:21

      Урок вводит логическую функцию ИЛИ как альтернативу функции И: премия начисляется, если истинно хотя бы одно из двух условий, а не оба одновременно. Показано, как переносить готовую формулу в другую ячейку через строку формул без сдвига ссылок на ячейки.

    • Подсчёт и сумма по условию в Excel16:49

      Урок знакомит с функциями СЧЁТЕСЛИ и СУММЕСЛИ: подсчёт и суммирование значений по текстовому или числовому условию без ручного пересчёта или фильтрации таблицы. Показано, что в критерии можно использовать операторы сравнения в кавычках, например ">0" и ">=3".

    • Несколько условий и маски поиска в Excel24:21

      Урок разбирает функции СЧЁТЕСЛИМН и СУММЕСЛИМН для подсчёта и суммирования записей сразу по нескольким условиям, в отличие от их однокритериальных версий. Также показаны маски ввода со звёздочкой и знаком вопроса для поиска по части текста и по заданной длине совпадения.

  • Раздел показывает поиск значения не в крайнем левом столбце, обработку ошибок в формулах, инструмент «Проверка данных» для выпадающих списков и работу с именованными диапазонами.

    • Поиск значения не в крайнем левом столбце17:18

      Связка функций ПОИСКПОЗ и ИНДЕКС для сопоставления двух таблиц, когда столбец сопоставления расположен не крайним левым и функция ВПР не применима. На примере таблицы заказа и прайс-листа ПОИСКПОЗ находит номер строки с нужным артикулом, а ИНДЕКС по этому номеру возвращает цену — формулы объединяются во вложенную конструкцию, работающую независимо от положения столбца поиска.

    • Ошибки в формулах, обработка17:55

      Функции ЕСЛИОШИБКА и ЕОШИБКА заменяют коды ошибок Excel — деление на ноль и отсутствие данных при поиске ВПР — на понятные значения в отчётах. На примерах расчёта средней стоимости сделки и подстановки оклада по должности показано, как задавать текст, прочерк или запасное значение по умолчанию вместо стандартной ошибки.

    • Инструмент Проверка данных10:04

      Инструмент «Проверка данных» на вкладке «Данные» ограничивает ввод в ячейку значениями из заданного списка, что предотвращает опечатки и ошибки при поиске ВПР. Разобрана настройка типа данных «Список» с источником-диапазоном, подсказки и сообщения об ошибке, а также обновление диапазона и формулы ВПР при добавлении новых значений.

    • Именованные диапазоны15:11

      Именованные диапазоны — присвоение имени ячейке или группе ячеек через вкладку «Формулы» или поле адреса — делают формулы нагляднее и избавляют от фиксации ссылок знаком доллара при протягивании. Показано применение в функциях СУММ и ВПР вместо адресов ячеек, а также работа с диспетчером имён при изменении диапазона.

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

    • Фильтр и сортировка по цвету7:51

      Фильтрация и сортировка по цвету заливки ячеек на примере таблицы товаров, раскрашенных по категориям. Фильтр по цвету включается на вкладке «Данные» и оставляет в таблице только записи нужной заливки, а сортировка по цвету группирует строки по цветам.

    • Условное форматирование15:43

      Условное форматирование на вкладке «Главная»: автоматическая заливка и изменение цвета шрифта ячеек по диапазону значений, тексту, повторам и рангу, включая пользовательский формат, гистограммы и цветовые шкалы. Диспетчер правил показывает список условий и позволяет их редактировать или удалять.

    • Условное форматирование по формуле9:23

      Условное форматирование по формуле, когда оформление ячейки зависит от значения ячейки в другом столбце той же строки — через пункт «Использовать формулу для определения форматируемых ячеек». Формула строится как логическое выражение и может сравнивать как текст, так и числа.

    • Макеты и стили диаграмм23:42

      Построение и настройка диаграмм по рядам данных: выбор типа диаграммы на вкладке «Вставка», изменение макета, легенды и цветовой палитры на вкладках «Конструктор» и «Формат». Добавление нового ряда через «Выбрать данные» и смена типа отображения для отдельного ряда на общей диаграмме.

  • Раздел показывает создание и фильтрацию сводных таблиц, дополнительные и вычисляемые поля, а также срезы и сводные диаграммы для наглядного анализа.

    • Создание, преобразование, фильтрация15:04

      Урок объясняет принцип сводных таблиц Excel: перенос полей исходного списка в области строк, столбцов, значений и фильтров превращает развёрнутые записи в компактный отчёт. Показано построение таблицы из диапазона со сплошной шапкой, настройка числового формата значений через параметры поля и группировка дат по годам и месяцам.

    • Фильтрация, форматирование, дополнительные поля11:39

      Урок показывает перенос полей в область фильтров и в область столбцов для многоуровневой разбивки сводной таблицы, а также форматирование через вкладку «Конструктор» с готовыми стилями и настройкой итогов. Отдельно рассмотрена смена способа агрегирования данных — с суммы на количество или среднее.

    • Проценты, вычисляемые поля7:18

      Урок показывает вывод относительных показателей в сводной таблице через дополнительные вычисления, на примере расчёта доли продаж менеджера как процента от суммы по строке. Также разбирается создание вычисляемого поля с простой арифметической формулой — на примере расчёта премии как процента от суммы продаж.

    • Срезы, сводные диаграммы8:03

      Урок закрывает тему сводных таблиц инструментом «срез» — панелями с кнопками для наглядной фильтрации по нескольким полям сразу, включая выбор нескольких значений одного поля через Ctrl. Показано построение сводной диаграммы прямо по данным сводной таблицы, которая меняется вместе с ней.

  • Раздел проводит через установку Anaconda и работу в Jupyter Notebook и доводит до первых вычислений и переменных в Python — с расчётом на человека без опыта программирования.

    • Раздел разбирает причины выбора Anaconda для Python, установку окружения на Windows и Mac и работу в Jupyter Notebook — интерфейс, ячейки, разметку текста, формулы и изображения.

      • Причины выбора Anaconda для Python3:03

        Урок объясняет, почему для установки Python выбран дистрибутив Anaconda: простая установка без специальных навыков, готовые среды Jupyter Notebook и Jupyter Lab, а также сразу включённые библиотеки NumPy, Pandas и SciPy для анализа данных.

      • Установка окружения для Windows3:40

        Пошаговая установка Anaconda на Windows: скачивание графического установщика, прохождение мастера установки и поиск установленных Jupyter Notebook и Anaconda Command Prompt через меню «Пуск» или Anaconda Navigator.

      • Установка Anaconda и запуск Navigator на Mac2:33

        Установка Anaconda на macOS: скачивание графического установщика в формате pkg, прохождение мастера установки и поиск Anaconda Navigator через Launchpad, откуда запускается Jupyter Notebook.

      • Jupyter Notebook – интерфейс4:18

        Разбор интерфейса Jupyter Notebook: запуск среды через Anaconda Navigator, создание нового блокнота с файлом формата ipynb, а также назначение пунктов меню File и Edit для работы с документом и ячейками.

      • Jupyter Notebook – ячейки и разметка текста11:09

        Работа с ячейками Jupyter Notebook: ввод и запуск кода, переключение ячеек между типами Code, Markdown и Raw NBConvert, а также базовая разметка Markdown — заголовки, курсив, полужирный текст, списки и ссылки.

      • Jupyter Notebook – формулы, изображения, работа в меню10:10

        Добавление формул в разметке LaTeX и изображений в ячейки Markdown, а также назначение пунктов меню Cell и Kernel для управления выполнением и вкладки Help с горячими клавишами и ссылками на документацию библиотек.

    • Раздел показывает базовые вычисления и операции с числами в Python, а также создание, изменение и преобразование типов переменных.

      • Python – базовые вычисления5:09

        Базовые арифметические операции в Python: сложение, умножение и деление, всегда возвращающее число с плавающей точкой, целочисленное деление оператором двойного слэша и возведение в степень оператором из двух звёздочек.

      • Python – операции с числами. Часть 17:15

        Работа со встроенным модулем math: импорт модуля целиком или отдельными функциями, вычисление квадратного корня и логарифмов, а также округление чисел функциями floor и ceil.

      • Python – операции с числами. Часть 210:28

        Вычисление факториала функцией factorial, экспоненциальная запись очень малых и очень больших чисел, а также особенности округления функцией round, которые объясняются через модуль decimal.

      • Переменные в Python – создание и изменение11:43

        Создание и изменение переменных в Python: присваивание значений, вывод через функцию print с разделителем sep и обновление значения переменной переприсваиванием или сокращённой записью вроде h += 1.

      • Переменные в Python – типы значений и переменных6:39

        Четыре базовых типа переменных в Python — integer, float, string и boolean — и проверка типа переменной встроенной функцией type() на примерах роста, пола, имени и возраста.

      • Переменные в Python – преобразование типов. Часть 19:00

        Преобразование значений между типами на примере задачи о покупке: округление результата деления до целого функцией int() и приведение введённого функцией input() текста к числу для дальнейшего сравнения.

      • Переменные в Python – преобразование типов. Часть 29:06

        Сравнение чисел, преобразование введённых с клавиатуры дробных значений функцией float() на примере расчёта среднего рейтинга и определение текущей рабочей папки функцией getcwd() из модуля os.

  • Раздел показывает установку PyCharm на Windows и Linux, настройку и первый запуск проекта, работу с проектами и оптимизацию редактора.

    • Установка PyCharm на Windows14:07

      Установка PyCharm Community на Windows: скачивание дистрибутива, включение JRE при установке и создание первого проекта с системным интерпретатором Python. Разбирается запуск индексации пакетов и первый запуск программы Hello World.

    • Настройка проекта и первый запуск PyCharm6:32

      Установка PyCharm Community на Mac OS: перенос приложения из образа в папку Applications, первичные настройки при запуске и создание проекта с выбором системного интерпретатора Python. Показан запуск первой программы после индексации системных библиотек.

    • Установка PyCharm на Linux6:26

      Установка PyCharm Community на Linux: скачивание и распаковка архива, проверка наличия OpenJDK и запуск программы через исполняемый скрипт в терминале. Разбираются первичные настройки и создание проекта с системным интерпретатором Python.

    • Проекты в PyCharm5:30

      Обзор интерфейса PyCharm: панель проекта, раздел External Libraries с исходным кодом стандартных библиотек, кнопки обычного запуска и запуска в режиме отладки. Рассматривается встроенная Python-консоль и хранение настроек в папке .idea проекта и в системной папке программы.

    • Оптимизация PyCharm4:14

      Снижение потребления оперативной памяти PyCharm через Custom VM Options: создание локального конфигурационного файла и изменение параметров виртуальной машины Java. Разбирается подбор безопасных значений максимального размера кучи и Reserved Code Cache Size.

  • Раздел разбирает поток выполнения программы, условный оператор, циклы while и for и первые функции — с оформлением кода по общепринятому стилю.

    • Раздел объясняет поток выполнения программы, работу оператора if и то, как интерпретатор показывает переменные, а также стиль оформления кода.

      • Поток выполнения программы9:06

        Разбираем поток выполнения программы на примере режима отладки PyCharm: ставим точку останова, идём по коду построчно через Step Over и смотрим, как в панели Variables меняются значения переменных. Заодно знакомимся со стеком вызовов во вкладке Frames и выводом программы во вкладке Console.

      • Как интерпретатор показывает переменные5:06

        На примере расчёта роста членов семьи смотрим, как интерпретатор создаёт объекты и присваивает значения переменным, разбираем оператор += и учимся читать в отладчике сложные структуры вроде списка списков. Отдельно показываем функцию Evaluate — вычисление произвольных выражений с текущими значениями переменных прямо во время отладки.

      • Условный оператор17:51

        Разбираем условный оператор if, операторы сравнения и логические and, or, not, а также тройное сравнение и неявное приведение значений к истине или лжи. Учимся строить множественный выбор через цепочку if-elif-else и сравнивать значения одного типа.

      • Как работает оператор if7:51

        На наглядной анимации разбираем, как интерпретатор проверяет условия по порядку в конструкции if-elif-else и заходит только в ту ветку, где условие истинно. Показываем случай точного сравнения на равенство и переход к else, если ни одно условие не совпало.

      • Стиль кода. Часть 120:32

        Разбираем правила оформления кода по стандарту PEP8: отступы в 4 пробела, оператор pass, ограничение длины строки и автоформатирование в PyCharm. Обсуждаем, почему читаемость кода важнее скорости его написания.

      • Стиль кода. Часть 215:47

        Продолжаем тему стиля кода: разбираем правила PEP8 по именованию переменных, регистр букв для разных случаев и инструмент PyCharm Refactor → Rename для переименования во всём коде. Обсуждаем, почему стоит избегать однобуквенных имён и почему списки лучше называть во множественном числе.

    • Раздел разбирает циклы while и for, перебор элементов списка и полезные функции, применяемые внутри цикла.

      • Цикл while24:22

        Разбираем синтаксис цикла while и пошаговую работу переменной цикла в отладчике на примере последовательности Фибоначчи. Учимся управлять завершением цикла операторами break, continue и else и избегать бесконечных циклов.

      • Цикл for14:37

        Разбираем синтаксис цикла for для перебора списков, строк, словарей и множеств на примере списка животных зоопарка. Учимся управлять его выполнением через break, continue и else.

      • Элементы списка4:26

        Разбираем распаковку кортежей при переборе списка кортежей в цикле for: как задать сразу несколько переменных цикла вместо одной. Смотрим, к каким ошибкам ValueError приводит несовпадение количества переменных и значений в кортеже.

      • Полезные функции в цикле20:59

        Разбираем встроенные функции enumerate и range для организации циклов, перебор строк и вложенных циклов, а также способы получить из словаря ключи, значения или пары через items() и values(). Отдельно рассматриваем срезы списков и разницу в перебору списков через range(len()) и напрямую.

    • Раздел показывает определение и вызов функции через def, передачу параметра, оператор return и документирование функции с учётом динамической типизации Python.

      • Определение и вызов функции через def4:13

        Вводим понятие функции как блока кода для повторного использования и принцип DRY (don’t repeat yourself). Разбираем синтаксис определения функции через def и её вызов на примере многократного повторения действия в цикле for.

      • Функция с параметром3:54

        Разбираем определение и вызов функций с параметрами: как называть параметры по смыслу, где размещать объявление функции в коде и как передавать аргументы позиционным способом. Показываем, как переменная цикла передаётся в параметр функции при вызове внутри цикла.

      • Функция return10:01

        Разбираем возврат значения из функции через return, поведение функции без return и возврат нескольких значений кортежем с последующей распаковкой. Знакомимся с режимами отладчика Step Over и Step Into для пошагового прохода по функции.

      • Документирование функции4:01

        Разбираем, как оформить строку документации (docstring) первой строкой тела функции и получить её через атрибут __doc__ или встроенную функцию help(). Показываем это на примере IPython и встроенной функции print.

      • Динамическая типизация12:55

        Разбираем динамическую типизацию: функция не знает заранее тип параметров, поэтому операции могут завершиться ошибкой TypeError, а защититься помогает проверка типа через isinstance. Показываем разницу изменяемых и неизменяемых объектов и как список, переданный по ссылке, меняется внутри функции.

  • Раздел разбирает пространство имён, способы вызова функции по умолчанию, распаковку и произвольное число параметров, рекурсию и встроенные функции Python.

    • Пространство имен22:56

      Урок объясняет понятие пространства имён в Python: как создаются и исчезают локальные переменные функций, чем локальное пространство отличается от глобального и какие ошибки возникают при обращении к недоступным именам. Разбираются затенение переменных, работа переменных в условных блоках и циклах, а также приём с присвоением None для избежания ошибок.

    • Способы вызова функции по умолчанию12:23

      Урок разбирает способы вызова функций — позиционный, именованный и их сочетание, включая требование обязательной именованности через звёздочку. Рассматриваются типичные ошибки при неверном порядке или количестве аргументов, а также использование констант вместо глобальных переменных.

    • Распаковка параметров10:11

      Урок показывает распаковку списков и словарей при вызове функции через * и ** для подстановки значений в позиционные и именованные параметры. Разбираются совместное использование обоих способов, частичная распаковка и ограничения этого приёма, приводящие к ошибкам.

    • Параметры вызова функции по умолчанию14:07

      Урок разбирает параметры функции по умолчанию: синтаксис задания и момент их вычисления. Показана типичная ошибка с изменяемыми значениями по умолчанию, которая приводит к накоплению данных между вызовами, и безопасный приём с None для её обхода.

    • Произвольное число параметров19:33

      Урок объясняет механизм произвольного числа параметров функции через *args и **kwargs: сбор позиционных аргументов в tuple, именованных — в словарь, и обратную операцию — распаковку при вызове. Показана комбинированная сигнатура функции с обязательными, произвольными и параметрами по умолчанию.

    • Рекурсия13:15

      Урок объясняет понятие рекурсии на примере вычисления факториала через самовызов функции, показывает работу стека вызовов в отладчике и ограничение по глубине рекурсии из-за расхода памяти. Рассматривается применение рекурсии для обхода древовидных структур, таких как HTML DOM.

    • HTML DOM7:42

      Урок показывает, как разобрать HTML-документ в виде вложенных словарей (HTML DOM) и найти нужный элемент рекурсивной функцией, которая обходит дерево и прерывает поиск, как только элемент найден. Используются проверка isinstance и оператор break для завершения перебора.

    • Встроенные функции. Часть 119:37

      Урок разбирает группу встроенных функций Python: преобразование между типами данных (int, float, bool, str, list, tuple, dict, set) и функции для работы со списками — len, max, min, sum, sorted и zip.

    • Встроенные функции. Часть 222:48

      Урок продолжает разбор встроенных функций: логические all и any, средства интроспекции dir, help, id, is и isinstance, а также хеш-функция и открытие файлов через open.

  • Раздел вводит понятие конверсии и разбирает сквозной кейс — от сырого журнала посещений сайта (кликстрима) до определения причины падения конверсии по месяцам и по типу устройства.

    • Знакомство с задачей, понятие «конверсии»3:16

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

    • ClickStream и воронка2:41

      Объясняется визуализация конверсии в виде воронки и вводится понятие кликстрима — журнала посещений страниц пользователями, на основе которого воронка строится. Задание — дополнить код обработки файла кликстрима, чтобы получить числа посетителей по этапам воронки.

    • Эволюция воронки со временем2:58

      Разбирается код подсчёта посещений по типам страниц для построения воронки и показывается, что сравнивать воронки нужно в процентах от первого шага, а не в абсолютных числах. Задание — построить отдельную воронку для каждого месяца из набора данных и сравнить их динамику.

    • Эволюция воронки со временем. Разбор практики4:44

      Разбираются результаты воронки по месяцам: показывается снижение конверсии на всех этапах и локализуется момент ухудшения, для сравнения используются проценты от первого шага, а не абсолютные числа. Задание — по данным о типе устройства (десктоп или мобильный) определить, произошло ли ухудшение воронки на одном типе устройства или на обоих.

    • Детализация воронки до типа устройства2:30

      Сравниваются воронки для мобильных и десктопных посетителей и показывается, что сайт был сломан на обоих типах устройств, но в разных местах воронки: на мобильных проблема в поиске, на десктопе — на переходе к оплате. Детализация по типу устройства помогает точнее указать, какой участок кода мог сломаться при обновлении сайта.

  • Раздел доводит Python до классов, наследования и перегрузки операторов и закрепляется сквозной практикой — симуляцией логистики склада с грузовиками и погрузчиками.

    • Раздел вводит понятие объекта и класса, атрибуты и методы, специальные методы классов, перегрузку операторов и различие атрибутов класса и экземпляра.

      • Понятие объекта и его класса19:10

        Урок вводит объектно-ориентированный подход в Python: разбирается разница между классом и объектом, между атрибутами и методами. На примере класса Toyota и класса робота показано определение класса, создание экземпляра и работа конструктора __init__ с параметром self.

      • Атрибуты и методы объекта12:05

        Урок разбирает разницу между атрибутами и методами объекта, показывает динамическое добавление и удаление атрибутов через оператор del. Рассматриваются функции hasattr, getattr, setattr и delattr для проверки, чтения, установки и удаления атрибута по имени.

      • Указатель на свой объект в методах8:25

        Урок объясняет назначение параметра self как ссылки на конкретный экземпляр класса, с которым работает метод. На примере класса рюкзака показана разница между вызовом метода через объект (связанный метод) и через класс (несвязанный метод, где self нужно передавать вручную).

      • Специальные методы классов23:39

        Урок разбирает специальные методы класса — __init__, __del__, __str__, __len__, __hash__ и __bool__, которые интерпретатор вызывает автоматически в определённые моменты жизни объекта. На примере класса рюкзака показана настройка атрибутов, освобождение объекта сборщиком мусора и переопределение вывода объекта функцией print.

      • Перегрузка операторов22:29

        Урок показывает, как специальные методы __eq__, __add__, __iadd__ и __call__ позволяют переопределять для объектов сравнение, сложение, расширенное присваивание и вызов объекта как функции. Разбираются примеры на классах рюкзаков, хлеба и колбасы, а также объектов-умножителей.

      • Различие атрибутов класса и экземпляра8:35

        Урок объясняет разницу между атрибутами класса и атрибутами экземпляра на примере подсчёта числа созданных объектов через общий атрибут класса вместо глобальной переменной. Показано, что атрибутом класса может быть любое вычисляемое выражение, а значения доступны как через self, так и через имя класса.

      • Пространство имен класса12:41

        Урок объясняет пространство имён класса и порядок поиска атрибута — сначала у объекта, затем у класса, — а также перекрытие атрибута класса одноимённым атрибутом объекта. Разбирается типичная ошибка начинающих при попытке увеличить общий счётчик класса через self и верный способ обращения к переменной класса через её имя.

    • Раздел закрепляет классы на модели жизни персонажа «Человек» и дома с несколькими жителями, а также показывает работу с историей коммитов в Git.

      • Класс «Человек»: модель жизни27:11

        Практика по созданию класса «человек» с атрибутами сытости, еды и денег, методами приёма пищи и циклом действий по дням — работа, еда или игра со случайным выбором. Показаны приёмы PyCharm — безопасное переименование переменных, автоформатирование кода по PEP 8 и цветной вывод в консоль через пакет termcolor.

      • Дом с несколькими жителями32:24

        Практика объединяет несколько персонажей в общий класс дома с общими деньгами и едой; персонажи хранятся списком, а их методы обращаются к атрибутам объекта дома напрямую. Показано различие между текстовой заменой и безопасным рефакторингом переименования, а также польза частых коммитов в git для отмены изменений.

      • Работа с историей коммитов в Git35:03

        Урок разбирает инструменты Git в PyCharm — просмотр истории коммитов, временное сохранение правок через стеш, состояние detached HEAD и отмену изменений через revert и reset с разными режимами. В конце даются домашние задания на классы: симуляция снегопада, консольная игра-алхимия и доработка класса кота.

    • Раздел разбирает базовый класс и порядок поиска атрибутов, доступ к свойствам родителя и их переопределение, метод super и множественное наследование с гибкими конструкторами.

      • Базовый класс и порядок поиска атрибутов19:22

        Урок объясняет наследование классов: общие атрибуты и методы выносятся в базовый класс, а дочерние классы наследуют их и переопределяют под свою специфику — на примерах классов животных и летающих объектов. Показан порядок поиска атрибута по цепочке наследования и атрибут self.__class__.__name__, возвращающий имя реального класса объекта.

      • Доступ к свойствам родителя5:34

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

      • Переопределение свойств и методов родителя8:37

        Урок объясняет переопределение атрибутов и методов в дочерних классах на примерах классов животных и роботов: как задаются собственные значения атрибутов и как одноимённый метод потомка полностью перекрывает метод родителя. Показан порядок поиска значения атрибута по уровням — от объекта к классу и далее к базовому классу.

      • Метод Super12:04

        Урок показывает работу метода super для дополнения поведения родительского класса: сначала вызывается реализация конструктора или метода из базового класса, затем добавляется собственная логика потомка. Разбираются примеры на классах роботов-пылесосов, военных и подводных роботов.

      • Множественное наследование15:08

        Урок раскрывает множественное наследование — объединение поведения нескольких базовых классов в одном, на примерах классов «работник»/«родитель» и роботов-дронов. Показано, как порядок перечисления базовых классов влияет на поиск метода, и разобран порядок разрешения методов (MRO) на ромбовидной структуре наследования.

      • Гибкие конструкторы при множественном наследовании8:29

        Урок объясняет, что все классы Python неявно наследуются от встроенного класса object, из-за чего структура с несколькими родителями образует ромбовидную иерархию. Показан приём *args и **kwargs для конструкторов, не зависящих от порядка родительских классов, и комбинирование поведения через super по цепочке MRO.

      • Немного умных слов5:03

        Урок вводит терминологию объектно-ориентированного программирования — класс, экземпляр, переменная класса и переменная экземпляра, метод, наследование, перегрузка функций и операторов. Названы четыре принципа ООП: абстракция, наследование, инкапсуляция и полиморфизм.

    • Раздел закрепляет наследование классов на модели доставки грузов — с отладкой и добавлением статистики в модель перевозок.

      • Наследование классов на модели доставки26:04

        Практика строит модель логистики на классах и наследовании: базовый класс техники с общим атрибутом расхода топлива, производные классы грузовика и погрузчика, а также склады и дороги, взаимодействующие по часам симуляции. Конструкторы дочерних классов вызывают конструктор базового через super(), а метод act() определяет действие объекта в текущий час.

      • Отладка модели доставки грузов30:15

        Практика продолжает предыдущую модель: реализуются входящая и исходящая очереди грузовиков на складе, учёт расхода топлива и отладка через точки останова в PyCharm. После исправления найденных ошибок модель полного цикла перевозки отрабатывает без сбоев.

      • Наследование и статистика в модели перевозок22:03

        Урок продолжает практику: общая проверка топлива выносится в базовый класс и переопределяется в наследниках через super(), добавляются переменные класса для суммарного расхода топлива и учёта времени простоя. Разбирается ошибка, возникающая при увеличении числа машин, когда склад отдаёт груза больше, чем на нём есть, и создаётся подкласс грузовика с иными параметрами.

  • Раздел разбирает виды стандартных ошибок, обработку исключений через try/except, исключения в контекстном менеджере и создание собственных классов исключений оператором raise.

    • Понятие, виды стандартных ошибок5:13

      Разбираем разницу между синтаксической ошибкой и исключительной ситуацией, возникающей во время работы кода. Смотрим на примерах ZeroDivisionError, NameError и TypeError, как исключения образуют общую иерархию классов и как непойманная ошибка выводится в консоль вместе с местом её возникновения.

    • Обработка исключений34:03

      Изучаем синтаксис try/except/else/finally для перехвата ошибок: как ловить конкретные классы исключений, обращаться к объекту ошибки и пробрасывать необработанные исключения по стеку вызовов функций. На сводном примере разбираем чтение числа из файла с раздельной обработкой разных ошибок.

    • Исключения в контекстном менеджере6:36

      Смотрим, как исключения обрабатываются внутри контекстного менеджера через метод __exit__, получающий тип, значение и трассировку ошибки. Разбираем, как результат __exit__ определяет, погасить исключение или пробросить его дальше по стеку вызовов.

    • Создание исключений12:23

      Разбираем оператор raise: как намеренно создавать исключение, пробрасывать пойманную ошибку дальше без изменений и связывать новую ошибку с предыдущей внутри except. Учимся создавать собственные классы исключений, унаследованные от Exception, с дополнительными полями данных.

    • Примеры работы с исключениями сторонних модулей5:21

      На примерах Requests, Django и Pygame смотрим, что сторонние библиотеки определяют собственные классы исключений: ConnectionError при сбое соединения, Модель.DoesNotExist при отсутствии записи в базе, Error при неудачной загрузке ресурса. Разбираем, как перехват таких ошибок помогает программе корректно реагировать на сбой конкретного инструмента.

    • Класс Warning7:56

      Разбираем класс предупреждений Warning: как модуль warnings выводит сообщение о потенциальной проблеме через функцию warn, не прерывая выполнение программы. Смотрим категории предупреждений вроде DeprecationWarning и фильтры error, ignore, module и once, управляющие их выводом.

    • Практика — исключения23:47

      Практика на реальном файле данных: читаем построчно арифметические выражения, вычисляем результат и суммируем, оборачивая вычисление строки в try-except, чтобы ValueError на битых данных не останавливал обработку остальных строк. Разбираем детализацию причины ошибки через args и принцип отделения основного алгоритма от логирования ошибок.

  • Раздел вводит структуру ndarray, базовые операции и вычисления с массивами, их создание и работу с условиями и булевыми массивами.

    • Основные идеи NumPy6:53

      Знакомство с библиотекой NumPy: чем библиотека отличается от модуля, как её импортировать и как выполнять базовые вычисления вроде квадратного корня и логарифма. Разбирается разница между средним арифметическим и медианой на примере набора зарплат, где одно резко большое значение искажает среднее.

    • Ndarray – базовая концепция11:04

      Изучение ndarray — базовой структуры NumPy для хранения однотипных данных: создание одно-, дву- и трёхмерных массивов из списков. Разбираются правила приведения типов при смешении чисел и строк и требование одинаковой длины вложенных списков.

    • Ndarray – операции8:08

      Поэлементные арифметические операции над массивами NumPy — умножение, сложение и деление без циклов — на примерах явки на участках и дохода репетиторов. Показано отличие этих операций от работы с обычными списками Python, где умножение или возведение в степень дают другой результат или ошибку.

    • Базовые операции над массивами12:31

      Атрибуты двумерного массива NumPy — число измерений ndim, форма shape и размер size — на примере турнирных мест шахматистов. Обращение к элементам по индексам и срезам, включая частичные границы и шаг, в том числе отрицательный, разворачивающий массив.

    • Вычисления с массивами11:12

      Методы min, max и mean для поиска минимума, максимума и среднего значения массива, а также argmax и argmin для определения индекса экстремума — на примере оценок школьников. Для двумерного массива показано усреднение по строкам и столбцам через параметр axis.

    • Создание массивов8:19

      Способы создания массивов NumPy: из готового списка функцией array, диапазоном значений с заданным, в том числе дробным, шагом через arange. Готовые функции zeros, ones и eye для матриц из нулей, единиц и единичной матрицы с единицами на главной диагонали.

    • Условия и булевы массивы15:44

      Применение операторов сравнения к массиву NumPy с получением булева массива true/false и объединение нескольких условий операторами И и ИЛИ с обязательными скобками вокруг каждого условия. Подсчёт числа элементов, удовлетворяющих условию, методом sum и отбор самих элементов по условию в квадратных скобках.

  • Раздел показывает изменение размерности и содержимого списков, создание новых массивов на основе старых, структурированные массивы и чтение-запись данных NumPy.

    • Изменение размерности списков8:43

      Разбираем методы reshape и transpose для изменения формы и размерности массивов NumPy, а также ravel и flatten для сведения многомерного массива обратно к одномерному. Отдельно смотрим на ограничение reshape: новая форма должна сохранять исходное число элементов, иначе Python выбрасывает ValueError.

    • Изменение списков12:09

      Показываем изменение элемента массива по индексу и разбираем ловушку простого присваивания: оно создаёт не копию, а ссылку на тот же массив, поэтому изменение через неё меняет и исходный объект. Учимся получать независимую копию методом copy или полным срезом, а также заменять несколько элементов сразу через срез.

    • Создание новых списков на основе старых16:17

      Создаём новый массив логарифмированных значений функцией np.log, чтобы уменьшить разброс данных, и строим точечный график в Matplotlib для сравнения исходных и логарифмированных значений. Для обычных списков Python, которые не поддерживают поэлементные операции, используем list comprehension.

    • Дополнительные концепции NumPy11:12

      Разбираем округление массивов методами round, floor и ceil, а также поэлементные операции np.add, np.subtract, np.sum и np.prod. Знакомимся с объектом np.datetime64 для перевода строки с датой в тип, над которым можно выполнять арифметику, например вычислять разницу в днях между датами.

    • Структурированные списки14:17

      Знакомимся со структурированными массивами NumPy, в которых столбцы имеют собственные имена и могут хранить разные типы данных, как в таблице. Учимся создавать такой массив функцией np.array с аргументом dtype, а также выбирать из него строки, столбцы и отдельные ячейки.

    • Чтение-запись списков9:33

      Сохраняем массивы NumPy функцией np.save в бинарный файл формата .npy и считываем обратно через np.load без повторного пересчёта, а также записываем данные в текстовый файл .txt или .csv функцией np.savetxt. Разбираем array2string для превращения массива в строку и метод tolist() для обратного преобразования в обычный список Python.

  • Раздел вводит основные структуры Pandas, индексацию методами .iloc и .loc и базовые операции над датафреймом.

    • Основные структуры6:42

      Знакомство с библиотекой Pandas и её главным объектом DataFrame — таблицей из строк и столбцов, объединяющей несколько массивов. Учебный DataFrame собирается из списка списков, а отдельный его столбец относится к типу Series, похожему одновременно на словарь и на массив.

    • Индексы и метод .iloc6:43

      Выбор строк, столбцов и отдельных ячеек DataFrame по числовым индексам через метод iloc, включая срезы. Показано, чем такое обращение отличается от прямого указания индекса в квадратных скобках.

    • Индексы и метод .loc7:14

      Обращение к элементам DataFrame по названиям: выбор одного или нескольких столбцов и точечный доступ к строкам и столбцам через метод .loc, включая текстовые срезы, где правый конец диапазона включается в результат.

    • Характеристики датафрейма pandas11:01

      Способы получить характеристики DataFrame: метод .info() для структуры таблицы, атрибут shape для её размера и метод .describe() для описательной статистики по числовым столбцам — среднего, минимума, максимума, стандартного отклонения и квартилей.

    • Операции над датафреймами. Часть 18:19

      Базовые операции просмотра и отбора данных в DataFrame: вывод первых и последних строк методами head и tail, удаление пропущенных значений методом dropna и фильтрация строк по одному или нескольким условиям с операторами & и |.

    • Операции над датафреймами. Часть 211:41

      Способы создания новых столбцов DataFrame: на основе значений другого столбца, из одного значения для всех строк, из списка и как результат поэлементной операции над двумя столбцами.

  • Раздел разбирает применение функций методом .apply, группировку и агрегирование, сортировку, работу с пропущенными значениями (NaN) и иерархическое индексирование.

    • Применение функций и метод .apply()12:26

      Урок показывает применение метода .apply() для создания новых столбцов датафрейма: использование готовых функций библиотеки NumPy и собственных лямбда-функций, в том числе построчно и по столбцам. Разбирается вызов метода к одному столбцу, к срезу из нескольких столбцов с аргументом axis и передача собственной лямбда-функции.

    • Группировка и агрегирование7:39

      Урок объясняет группировку данных методом groupby и вычисление сводных показателей по группам методом agg: встроенные функции суммы, среднего, минимума, максимума и медианы, а также собственные функции. Показано, как передать в agg список функций и получить отдельные столбцы для каждой характеристики по группам.

    • Сортировка и упорядочение5:29

      Урок объясняет сортировку строк DataFrame методом sort_values по одному или нескольким столбцам и управление направлением и сохранением результата через параметры ascending и inplace. Показана сортировка по нескольким столбцам, где второй столбец определяет порядок строк с одинаковыми значениями первого.

    • Работа с NaN-ами7:37

      Урок показывает, как находить пропущенные значения в DataFrame методами info и isna и обрабатывать их — заполнением через fillna или удалением строк через dropna. Разбирается выбор между удалением и заполнением пропусков в зависимости от объёма данных.

    • Иерархическое индексирование. Часть 16:37

      Урок объясняет, что такое индексирование строк в Pandas и когда обычная числовая нумерация не подходит, вводит понятие иерархического индексирования и показывает применение метода set_index на примере учебного датасета. Составной индекс задаётся списком из двух столбцов, ни один из которых по отдельности не задаёт строку однозначно.

    • Иерархическое индексирование. Часть 27:43

      Урок разбирает структуру объекта MultiIndex, показывает сортировку строк методом sort_index по вложенным уровням индекса и обращение к строкам по составному ключу через метод loc. Сортировка идёт по уровням: сначала по первому показателю, затем внутри него — по второму, а уточнение выбора вторым значением индекса сужает результат до одной ячейки.

  • Раздел объясняет различие структурированных и неструктурированных данных, чтение и запись файлов CSV и XLSX, а также форматирование дат.

    • Что такое данные и какие они бывают6:11

      Урок вводит различие между структурированными и неструктурированными данными: неструктурированные хранятся в исходном виде и требуют обработки перед анализом, структурированные имеют заданную схему и легче собираются, хранятся и анализируются. На примере письма показан переход от неструктурированных данных к структурированным, а для работы с ними — SQL и библиотека Pandas.

    • Чтение файлов в формате CSV9:03

      Урок объясняет устройство формата CSV — текстовой таблицы, где строки разделены переносами, а столбцы обычно запятыми, — и показывает загрузку CSV-файлов в DataFrame библиотеки Pandas функцией read_csv. Разбирается настройка разделителя столбцов через параметр sep и индексного столбца через index_col.

    • Запись файлов в формате CSV8:16

      Урок разбирает сохранение DataFrame в CSV-файл методом to_csv, включая параметр indexLabel для названия столбца индекса. На примере значения с запятой внутри показано, как совпадение разделителя со знаком в данных портит структуру таблицы, и почему для sep стоит выбирать разделитель, заведомо не встречающийся в данных.

    • Форматирование дат9:04

      Урок объясняет, почему разные страны записывают дату в разном порядке дня, месяца и года, и представляет международный стандарт год-месяц-день, удобный для сортировки. Показано, как параметры parseDates и dayFirst функции read_csv приводят даты к типу datetime в Pandas, из которого затем можно получить производный признак вроде дня недели.

    • Чтение и запись файлов в формате XLSX9:54

      Урок показывает работу с бинарным форматом XLSX, который в отличие от текстового CSV может содержать сразу несколько листов с таблицами. Чтение выполняется функцией read_excel с параметром sheet_name для выбора листа, а даты распознаются теми же параметрами parseDates и dayFirst, что и при чтении CSV; сохранение DataFrame делается методом to_excel.

  • Раздел разбирает структуру базы данных, запросы SELECT с фильтрацией, функции и агрегацию, соединение таблиц JOIN, группировку, изменение данных, подзапросы и изменение структуры данных.

    • SQL. Введение1:50

      SQL — язык запросов для чтения, записи и описания структуры данных, применяемый в большинстве распространённых СУБД: MySQL, PostgreSQL, Oracle, MSSQL, Presto, Hive. Работа с базой строится по схеме «подключение — запрос — ответ», а обращаться к ней можно через клиент-программу или из собственного кода.

    • Структура БД, запрос DESCRIBE5:50

      Разбирается структура базы данных из четырёх связанных таблиц и типы данных колонок — varchar, int, enum, datetime. Команды use, show tables и describe показывают выбор базы, список таблиц и структуру конкретной таблицы по колонкам.

    • Выбор и фильтрация данных, запрос SELECT9:58

      Базовый синтаксис запроса SELECT: выбор конкретных колонок или всех полей через звёздочку, фильтрация условием WHERE с операторами and и or, сортировка ORDER BY. Дополнительно разбираются ограничение LIMIT, отбор неповторяющихся значений DISTINCT и объединение выборок UNION.

    • Функции и выражения, агрегация данных10:46

      Применение функций и выражений к результатам выборки: арифметика над колонками, псевдонимы через AS, работа с датами через DateDif, условная логика через IF, склейка строк через CONCAT. Агрегирующие функции COUNT, AVG, MAX и SUM сводят выборку к одному итоговому значению.

    • Отношения и соединение таблиц – JOIN7:32

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

    • Группировка3:46

      Группировка данных оператором GROUP BY для расчёта агрегированных показателей по каждой группе, в сочетании с JOIN для объединения таблиц. Результат группировки сортируется оператором ORDER BY с модификатором DESC и ограничивается оператором LIMIT.

    • Модификация данных5:13

      Изменение данных в таблице: добавление новой строки запросом INSERT INTO с указанием колонок и значений после VALUES, изменение значений существующих строк запросом UPDATE с SET и условием WHERE. Оператор UPDATE применяется и массово — сразу ко всем строкам с определённым значением колонки.

    • Подзапросы3:02

      Построение запроса с подзапросом — вложенным SELECT в круглых скобках — для связи двух таблиц без прямого отношения через внешний ключ. Подзапрос выполняется отдельно для каждой строки внешней таблицы и заменяет JOIN там, где связи между таблицами нет.

    • Объявление и изменение структуры данных8:26

      Нормализация и ненормализованные данные на примере дублирующихся полей, создание новой таблицы командой CREATE TABLE с перечислением колонок и типов. Наполнение таблицы через INSERT SELECT, изменение структуры существующей таблицы через ALTER TABLE и массовое обновление командой UPDATE без WHERE.

  • Раздел разбирает форматы JSON, Pickle и HDF5, работу с базами SQLite, PostgreSQL и MongoDB из Python, а также обращение к базам данных через Pandas.

    • Формат JSON4:37

      Разбирается текстовый формат JSON для обмена данными и его связь со структурой Python-словаря. На примере кода показано преобразование словаря в JSON-строку функцией dumps модуля json и обратное преобразование функцией loads.

    • Pickle — сериализация объектов3:56

      Объясняется бинарный формат pickle для сохранения и передачи объектов Python. На примере словаря показано, как модуль записывает объект в файл функцией dump в режиме wb и восстанавливает его функцией load в режиме rb.

    • Работа с данными формата HDF512:17

      Описывается бинарный формат HDF5 для хранения и частичного чтения больших иерархических массивов данных без загрузки всего файла в память. На примере через библиотеку h5py показано создание групп и датасетов из массивов NumPy со сжатием GZIP и их последующее чтение.

    • Работа с базой данных SQLite35:57

      Показана работа с библиотекой SQLite3: создание локальной реляционной базы данных на Python и таблицы SQL-командой Create Table. Разобрана загрузка данных из CSV-файла через DictReader и метод executemany, а также обратное чтение записей SQL-запросом.

    • Работа с базой данных PostgreSQL6:04

      Показано подключение к промышленной СУБД PostgreSQL из Python через библиотеку psycopg2 и чтение списка таблиц схемы Public. На примере разобран аналитический запрос с агрегацией — расчёт средней оценки фильмов и вывод топ-5 по убыванию.

    • Работа с базой данных из pandas2:46

      Показано подключение к SQLite и PostgreSQL из Pandas и чтение табличных данных SQL-запросом через функцию read_sql_query. Разобрано, что для Postgres используется модуль psycopg2, а запрос к локальному файлу SQLite выполняется быстрее запроса к удалённому серверу.

    • Работа с базой данных MongoDB. Часть 18:46

      Представлена документоориентированная база MongoDB с коллекциями и документами вместо таблиц и строк. Показано подключение из Python через библиотеку PyMongo и объект MongoClient, вывод списка коллекций и выборки записей методом find с проекцией нужных полей.

    • Работа с базой данных MongoDB. Часть 26:09

      Показана фильтрация записей MongoDB параметром filter и построение агрегационного пайплайна с группировкой по тегу, подсчётом и сортировкой результатов. Подводится итог по изученным в модуле форматам и хранилищам: JSON, Pickle, HDF5, SQLite и PostgreSQL.

    • Работа с SQL через Pandas1:50

      Объясняется, что функция read_sql_query библиотеки Pandas абстрагирует загрузку данных от конкретной базы — достаточно объекта connection и текста SQL-запроса. Задаётся домашняя работа по подсчёту строк в таблицах, выводу столбцов Ratings и определению поля для соединения таблиц Links и Ratings.

  • Раздел показывает стандартные приёмы работы с текстом, регулярные выражения модуля re для извлечения email-адресов, телефонов и имён, а также подсчёт статистик текста.

    • Стандартные приёмы работы с текстом3:53

      На примере датасета с описаниями фильмов разбираются два базовых приёма подготовки текста — приведение к нижнему регистру и удаление знаков пунктуации средствами модуля string. Отдельно поясняется, когда эти приёмы применять не стоит: например, при извлечении имён людей приведение к нижнему регистру стирает информацию о заглавных буквах.

    • Регулярные выражения Python16:58

      Урок знакомит с модулем re для работы с регулярными выражениями: составление и компиляция шаблонов, спецсимволы и квантификаторы. На примере пользовательских отзывов шаблоны постепенно усложняются для извлечения email-адресов, телефонных номеров и имён собственных из текста.

    • Статистики текста10:21

      Показан переход от сырого текста к числовому представлению через подсчёт частоты слов: словоформы приводятся к начальной форме морфологическим анализатором pymorphy2, а результаты собираются в таблицу Pandas. Группировка таблицы по документу и слову даёт количество вхождений каждого слова и помогает определить тему документа.

    • Домашняя работа3:56

      Три домашних задания разного уровня: подсчёт доли документов, в которых встречается каждое слово, извлечение регулярным выражением пар «имя и фамилия» из текста, и классификация документов по жанру через словари ключевых слов. Задание повышенной сложности выполнять необязательно.

  • Раздел разбирает распределение вероятности, оценки распределения случайной величины, асимметричные данные, корреляционный анализ, доверительные интервалы и поиск аномалий в данных.

    • Распределение вероятности5:47

      Урок вводит понятие вероятности и сопоставляет классический и аксиоматический подходы к её определению, разбирает дискретные и непрерывные распределения случайной величины. Отдельно рассматривается нормальное распределение и центральная предельная теорема, а также роль плотности и функции распределения.

    • Оценки распределения случайной величины3:41

      Урок разбирает точечные оценки распределения случайной величины: математическое ожидание, дисперсию, моду, квантили и интерквартильный размах. Показывается, что для нормального распределения среднее, мода и медиана совпадают в одной точке.

    • Практика описательной статистики в Python5:20

      Практика показывает, как в Python сгенерировать синтетическую нормально распределённую выборку и рассчитать по ней точечные оценки, среднеквадратическое отклонение и квантили средствами pandas и NumPy. Строятся гистограммы распределения через Seaborn и pandas, а расчёты оформляются в отдельную функцию.

    • Где чаще всего ошибаются аналитики3:17

      Урок разбирает, почему средняя оценка вводит в заблуждение при асимметричных и мультимодальных распределениях, и вводит коэффициенты асимметрии и эксцесса для их распознавания. Отдельно рассматривается мультимодальность выборки как признак присутствия в данных нескольких групп с разными характеристиками.

    • Асимметричные данные: гамма-распределение2:44

      Урок показывает генерацию асимметричных данных по гамма-распределению средствами NumPy и сравнивает их с нормальным распределением на бизнес-примере оттока и прибыли клиентов. Демонстрируется, что при одинаковых среднем и сигме форма распределения меняет долю убыточных клиентов и итоговые бизнес-выводы.

    • Корреляционный анализ4:53

      Урок разбирает линейную корреляцию: коэффициенты связи Пирсона и Кендалла и шкалу Чедока для оценки силы связи. Рассматриваются способы визуализации взаимосвязей — матрица парных корреляций и диаграмма рассеяния для нелинейных зависимостей.

    • Практика корреляционного анализа4:31

      Практика разбирает построение и визуализацию матрицы парных корреляций на реальном датасете цен на жильё Boston House Prices методом corr() библиотеки Pandas и тепловой картой Seaborn. Значимость связей проверяется по шкале Чеддока, а для значимых пар строятся диаграммы рассеяния.

    • Доверительные интервалы2:09

      Урок вводит понятие доверительного интервала как интервальной оценки параметра случайной величины с заданной доверительной вероятностью, в отличие от точечной оценки. Объясняется построение интервала на основе нормального распределения и центральной предельной теоремы, для случаев с известной и неизвестной дисперсией.

    • Доверительный интервал по акциям Google6:14

      Практика разбирает реальные котировки акций Google с Yahoo Finance: проверку нормальности выручки по эксцессу, асимметрии и графику QQ-plot, а затем построение 95%-го доверительного интервала функцией из SciPy. Значения за верхней границей интервала помечаются как аномальные события.

    • Аномалии в данных3:33

      Урок объясняет, что аномалии — это сильно отличающиеся от выборки наблюдения, которые не всегда стоит удалять, а нужно помечать и исследовать в зависимости от бизнес-задачи. Рассматриваются одномерный поиск аномалий через квантили, доверительные интервалы и правило трёх сигм, а также многомерные методы Isolation Forest и One-Class SVM.

    • Поиск аномалий в данных5:29

      Практика разбирает поиск и фильтрацию выбросов в одномерных данных правилом трёх сигм и квантилями на синтетических нормальных и бимодальных выборках, а затем на реальном медицинском датасете из scikit-learn. Логика оформляется в пользовательскую функцию, которая выявляет пациентов с аномально высоким показателем прогрессии заболевания.

  • Раздел разбирает манипуляцию средними значениями, ширину временного интервала и масштаб графика, подмену единицы анализа и различие корреляции и причинно-следственной связи.

    • Зачем нужна статистика1:57

      Урок рассказывает о происхождении статистики как инструмента управления государством и её современном применении в разных отраслях — от расчёта вероятностей до А/Б-тестов. Отдельно разбирается, как результаты статистических исследований искажают намеренно или неосознанно в интересах заинтересованных сторон, например при подборе выборки под нужный результат.

    • Манипуляция средними и сила авторитета9:24

      На примерах статистики доходов и международного рейтинга рабочих часов урок показывает, как выбор меры среднего — среднего арифметического, медианы или моды — и некорректное сравнение данных превращают статистику в инструмент манипуляции. Разбирается, почему данные авторитетных организаций нужно проверять на методологию.

    • Ширина временного интервала и сила масштаба3:42

      Урок показывает, как выбор ширины временного интервала и масштаба оси графика меняет восприятие одних и тех же данных, на примерах графика оборонных расходов и скачка шкалы в публикации New York Times. Даётся упражнение переделать график роста числа частных школ под нужный вывод.

    • Единица анализа и «Яблоки и апельсины»8:26

      Урок вводит понятие единицы анализа и разбирает приём «яблоки и апельсины» — сравнение несопоставимых величин — на примерах цен в разных валютах, кассовых сборов фильмов без поправки на инфляцию и конверсии онлайн-курса. Даётся упражнение объяснить снижение выпуска подорожавших автомобилей на заводе.

    • Ошибка восприятия и корреляция и причинно-следственная связь13:42

      Урок разбирает разницу между процентом и процентным пунктом, показатель CAGR и различие между корреляцией и причинно-следственной связью на примерах случайной и ложной корреляции. Также рассматриваются когнитивные искажения: ошибка выжившего, эффект якоря и склонность подтверждать свои ожидания.

  • Раздел даёт общее представление о больших данных и технологии Hadoop с HDFS и MapReduce, кратко знакомит с Hive и Impala и обзорно — с другими инструментами обработки больших данных.

    • Введение в Big Data13:51

      Урок даёт общее представление о больших данных: их характеристики, сферы применения и основные технологии обработки — Hadoop, HDFS и MapReduce. Разбирается, как фреймворк Hadoop позволяет горизонтально масштабировать вычисления на обычном оборудовании, а MapReduce разбивает обработку на параллельно выполняемые этапы Map и Reduce.

    • Технология Hive, кратко об Impala10:26

      Урок разбирает Hive — SQL-надстройку над HDFS, где папки становятся таблицами, а запросы на SQL переводятся в пакеты MapReduce-задач; рассматриваются классические и внешние таблицы, партиционирование и бакетирование для ускорения запросов. Также даётся Impala — более быстрый инструмент доступа к тем же данным, читающий их напрямую с кэшированием в памяти, минуя MapReduce.

    • Другие инструменты6:39

      Урок описывает фреймворк Apache Spark и работу с ним через DataFrame и Spark SQL как альтернативу Hive, включая join-операции DataFrame — left-semi-join, left-anti-join и cross join. Завершает раздел рекомендациями по дальнейшему изучению SQL, Python и BI-инструментов вроде Tableau и Power BI.

  • Раздел разбирает структуру отчётов Google Analytics — сеансы, хиты, цели и конверсии — и сравнивает её с Яндекс.Метрикой, её терминологией и фирменными инструментами вроде карты кликов и WebVisor.

    • Сеансы, хиты и отчёты Google Analytics34:50

      Разбираем структуру Google Analytics: понятия пользователя, сеанса и хита, установку счётчика на сайт и в приложение, группы отчётов по аудитории, источникам трафика и поведению. Отдельно — цели, коэффициент конверсии и отчёты по многоканальным последовательностям для анализа пути к покупке.

    • Яндекс.Метрика24:20

      Знакомимся с Яндекс.Метрикой как альтернативой Google Analytics: фирменные инструменты WebVisor, карта кликов, аналитика форм и call tracking, а также отличия в терминологии и подсчёте отказов. Рассматриваем структуру отчётов и передачу данных в сервис визуализации DataLens.

  • Раздел показывает интерфейс Power Query, загрузку данных из файла и построение первого графика, а также загрузку файлов CSV и нескольких файлов из папки.

    • Интерфейс Power Query и загрузка данных7:35

      Загрузка таблицы продаж из Excel через окно получения данных Power BI и построение гистограммы с группировкой по дате и сумме. Настройка денежного формата для столбца сумм и меток данных на графике.

    • Загрузка файлов CSV и их особенности9:03

      Работа с форматом CSV и приведение неправильно распознанных дат к нужному типу в Power Query через разделение и объединение столбцов с учётом региональных настроек. Работа со списком применённых шагов вместо команды отмены.

    • Загрузка многочисленных файлов из папки8:01

      Настройка Power BI на автоматическую загрузку и объединение однотипных файлов из папки с фильтром по расширению. Построение визуала «матрица» с иерархией дат и обновление отчёта при добавлении новых файлов.

  • Раздел собирает курс воедино: связывание таблиц по модели «Звезда», построение отношений между ними и подключение внешнего источника данных — Google Таблиц — для готового отчёта.

    • Соединение таблиц. Модель Звезда10:52

      Принцип построения связей между таблицами по модели «Звезда»: центральная таблица фактов и окружающие её таблицы измерений. На примере данных о продажах и руководителях показано создание отношения «один ко многим» по общему полю имени сотрудника, с построением круговой диаграммы по результатам связывания.

    • Соединение таблиц. Модель Звезда8:48

      Разбор типов связей между таблицами в Power BI: «многие ко многим», «один к одному» и «многие к одному». Отношение «многие ко многим» показано на таблицах оценок студентов и записи на курсы со сменой агрегации с суммы на среднее, «один к одному» — на объединении данных из налоговой и регистрационной таблиц по идентификационному коду.

    • Подключение Google Sheets8:50

      Подключение Google Sheets к Power BI через сторонний сервис MyBI Connect, поскольку прямого коннектора к Google Sheets у Power BI нет. Загруженные данные приходят в формате JSON одной строкой, преобразуются в столбцы средствами Power Query и связываются со вспомогательной таблицей-каталогом менеджеров для построения диаграммы продаж.

Частые вопросы

Здесь собраны ответы почти на все вопросы, которые задают перед покупкой. Нажмите на вопрос, чтобы раскрыть ответ.

Об этом курсе

  • Нет — курс начинается с объяснения формулы Excel как «чёрного ящика» и пошаговой установки Anaconda и PyCharm, шаги рассчитаны на человека без опыта программирования.

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

  • Курс разбирает форматы CSV, JSON, Pickle, HDF5, Excel и базы SQLite, PostgreSQL и MongoDB — с объяснением, чем они отличаются и когда какую применять.

  • Да — отдельные разделы разбирают воронку продаж и кликстрим на реальном кейсе, а также сравнивают Google Analytics и Яндекс.Метрику.

  • Курс заканчивается построением отчёта в Power BI: соединением нескольких таблиц по модели «Звезда» и подключением внешнего источника данных — Google Таблиц.

  • Нет — курс использует бесплатные версии инструментов: Anaconda, PyCharm Community и Power BI Desktop; платные серверные версии вроде Power BI Server и Tableau Server в курсе почти не изучаются.

Доступ и материалы

  • Сразу после оплаты, в ту же секунду и автоматически. Ждать подтверждения не нужно. Доступ приходит двумя путями сразу. Первый: на почту, указанную при оформлении заказа, приходит письмо со ссылкой на материалы. Второй: та же ссылка появляется в вашем аккаунте на сайте, в разделе «Загрузки», и остаётся там постоянно.

  • Все видео и дополнительные файлы лежат в облачном хранилище. Ссылка на него — в вашем аккаунте на сайте, раздел «Загрузки», и в письме, которое пришло после оплаты. Аккаунт здесь — не формальность, а способ доставки: курс остаётся в нём навсегда. Даже если письмо потерялось или вы вспомнили о покупке через год, ссылка будет на месте.

  • Скачивать можно и нужно. Мы рекомендуем сохранить видео на компьютер и смотреть оттуда. Причина простая: облачное хранилище не рассчитано на просмотр видео. Иногда оно позволяет включить ролик прямо в браузере, но качество при этом заметно хуже исходного. На своём компьютере вы увидите курс таким, каким его записывали.

  • Бессрочно. Курс остаётся вашим навсегда, возвращаться к нему можно сколько угодно раз. Если через год или два ссылка вдруг перестанет открываться по техническим причинам — напишите на info@siluette.com.ua, мы её восстановим.

  • Прежде всего: доступ у вас есть в любом случае. Войдите на сайт и откройте раздел «Загрузки» — ссылка на курс уже там, независимо от того, дошло письмо или нет. Чаще всего письмо теряется из-за опечатки в адресе при оформлении заказа. Ещё стоит заглянуть в папку «Спам». Не разбирается — не тратьте время: напишите на info@siluette.com.ua или в чат в правом нижнем углу сайта, мы поможем.

  • Лучше всего на компьютере или ноутбуке: скачайте видео и откройте любым привычным плеером. Понадобятся установленные видеокодеки — на большинстве компьютеров они уже есть. Скачать курс можно на сколько угодно устройств. А вот телефон мы не советуем, и по двум причинам. На маленьком экране плохо видно детали, особенно если в уроке показывают интерфейс программы. И на телефонах часто нет кодеков для форматов, в которых записаны видео.

Оплата и возврат

  • Банковской картой Visa, MasterCard или Prostir, через Google Pay, Apple Pay, Masterpass, Visa Checkout, платёжный QR-код, Botpay в Telegram или Privat24. Есть и оплата частями: Монобанк (3 или 4 платежа), А-Банк (2, 3 или 4 платежа и рассрочка), Банк Глобус (8 платежей), «Скибочка» от OTP Bank (3 платежа), мгновенная рассрочка и оплата частями от ПриватБанка.

  • Да. Платёжная система принимает карты из Евросоюза и любых других стран. Одна деталь, о которой часто забывают: банк может попросить подтвердить платёж — в мобильном приложении или кодом из СМС. Если оплата не проходит, проверьте приложение банка и сообщения.

  • Добавьте в корзину два курса или больше — скидка применится автоматически ко всем товарам в корзине. Два курса: минус 20% на оба. Пять курсов: минус 20% на все пять. Скидка сочетается с любыми акционными ценами и действует на весь каталог без исключений.

  • Цифровые товары возврату и обмену не подлежат. Это общее правило для всех электронных товаров в Украине — постановление Кабинета Министров № 172 от 19 марта 1994 года. При этом мы всегда на связи. Если доступ не открывается, ссылка перестала работать или файлы повреждены — напишите на info@siluette.com.ua, укажите дату и номер заказа. Восстановим. Если что-то непонятно в самом курсе, тоже пишите — подскажем.

  • Пока нет. Мы работаем только с частными покупателями — безналичной оплаты по счёту от юридических лиц сейчас нет.

Как проходит обучение

  • Нет. Все курсы — это записи уроков для самостоятельного изучения: преподаватель не отвечает на вопросы и не проверяет домашние задания. Именно поэтому курсы стоят намного дешевле обучения с куратором. Вы получаете тот же материал, но занимаетесь сами и в своём темпе.

  • Да, цифровой сертификат — по запросу и бесплатно. Напишите на info@siluette.com.ua, укажите имя и фамилию ровно в том виде, в каком хотите видеть их в сертификате, и мы пришлём его в течение суток.

  • Для большинства курсов — нет. Они рассчитаны на начальный уровень и объясняют с азов. Если курс требует подготовки, это сказано в его описании.

  • Нет. Ни дедлайнов, ни расписания, ни сгорающего доступа. Скачали — смотрите когда удобно, с любыми перерывами.

  • Курс покупается для личного использования, и мы просим относиться к этому по-человечески: за каждым уроком стоит работа, а цена и так сильно снижена.

Поддержка

  • Лучше всего на info@siluette.com.ua. Есть и чат в правом нижнем углу сайта, но почта надёжнее: там можно всё описать подробно и приложить скриншоты. Просьба: опишите, что именно вы делали и что пошло не так, и приложите снимок экрана с ошибкой. Так мы решим вопрос сразу, а не будем полдня выяснять, что произошло.

  • В рабочее время, с 9:00 до 19:00, на почту обычно отвечаем в течение часа, в чате — за пару минут. После 19:00 тоже случается, но время ответа не обещаем.

Отзывы покупателей

  1. Андрей

    16.07.2025 Подтвержденный клиент

    Python для анализа данных (pandas, numpy) - это было для меня самым интересным. Очень мощные инструменты. Раньше все делал в Excel.

  2. Андрей

    28.03.2025 Подтвержденный клиент

    Это просто энциклопедия для начинающего аналитика! Разбирают абсолютно все, от SQL до Power BI. Очень полный курс.

  3. Светлана

    25.02.2025 Подтвержденный клиент

    Это просто энциклопедия для начинающего аналитика! Разбирают абсолютно все, от SQL до Power BI. Очень полный курс.

  4. Екатерина

    18.12.2024 Подтвержденный клиент

    Я прошел курс и смог устроиться на свою первую работу как Junior Data Analyst. Знаний хватило с головой. Огромное спасибо!

  5. Ирина

    15.11.2024 Подтвержденный клиент

    Python для анализа данных (pandas, numpy) - это было для меня самым интересным. Очень мощные инструменты. Раньше все делал в Excel.

  6. Елена

    11.10.2024 Подтвержденный клиент

    Я прошел курс и смог устроиться на свою первую работу как Junior Data Analyst. Знаний хватило с головой. Огромное спасибо!

Показано 6 из 6

Оставить отзыв