Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную информацию об использовании файлов cookies можно найти здесь, наши правила обработки персональных данных – здесь. Продолжая пользоваться сайтом, вы подтверждаете, что были проинформированы об использовании файлов cookies сайтом НИУ ВШЭ и согласны с нашими правилами обработки персональных данных. Вы можете отключить файлы cookies в настройках Вашего браузера.

  • A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2024/2025

Python для сбора и анализа данных

Статус: Курс обязательный (Компьютерные науки и анализ данных)
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 1-й курс, 3 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Преподаватели: Горшков Сергей Сергеевич, Довгополый Иоанн Алексеевич, Потапов Иван Андреевич
Язык: русский
Кредиты: 3

Программа дисциплины

Аннотация

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

Цель освоения дисциплины

  • Курс должен помочь студентам освоить основные библиотеки Python для анализа данных и научить проводить первичный анализ данных с помощью этих библиотек.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знать библиотеку numpy для анализа данных
  • Знать библиотеку pandas для анализа данных
  • Знать об особенностях многопоточности в Python и уметь ускорять код, использующий вышеописанные библиотеки
  • Знать язык SQL, иметь навыки работы с реляционными БД
  • Понимать основные отличия модели MapReduce от Spark
  • Понимать основные принципы работы распределенных систем, модель MapReduce.
  • Уметь написать простое веб-приложение на языке Python
  • Уметь развернуть простое веб-приложение с использованием технологии Docker, понимать принципы ее работы
  • Уметь развернуть простое веб-приложение с использованием технологии Kubernetes, понимать принципы ее работы
  • Уметь решать задачи на визуализацию данных с помощью модулей matplotlib, seaborn, plotly
  • Уметь работать с API и проектировать его
  • Уметь интегрировать работу с базой данных в сервис, реализовывать миграции баз данных.
  • Понимать основы работы с многопоточностью и многопроцессностью, синхронизацией потоков исполнения
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Модуль numpy
  • Модуль pandas.
  • Global Interpreter Lock в Python. Модуль multiprocessing. Вопросы производительности python и pandas.
  • Модули matplotlib, seaborn, plotly для визуализации данных.
  • Продвинутое использование механизма асинхронности в Python. Библиотеки для работы с API. Библиотеки для работы с HTTP. Написание интерактивного интерфейса с помощью Streamlit
  • Реляционные базы данных и SQL
  • Spark: основные идеи, сравнение с MapReduce.
  • Создание приложения с помощью FastAPI - 1.
    Создание первого приложения с помощью FastAPI, sqlalchemy, миграции баз данных с alembic, структура API.
  • Создание приложения с помощью FastAPI - 2.
  • Облачные вычисления. Виртуализация и её типы.
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание
  • неблокирующий Домашнее задание
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 3rd module
    ДЗ*0,125
Список литературы

Список литературы

Рекомендуемая основная литература

  • Лучано, Р. Python. К вершинам мастерства / Р. Лучано , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2016. — 768 с. — ISBN 978-5-97060-384-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/93273 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Рекомендуемая дополнительная литература

  • Eric Matthes. (2019). Python Crash Course, 2nd Edition : A Hands-On, Project-Based Introduction to Programming: Vol. 2nd edition. No Starch Press.

Авторы

  • Горшков Сергей Сергеевич
  • Ахмедова Гюнай Интигам кызы