Магистратура
2020/2021
Программирование для анализа данных
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Курс обязательный (Коммуникации, основанные на данных)
Направление:
42.04.01. Реклама и связи с общественностью
Кто читает:
Школа коммуникаций
Где читается:
Факультет креативных индустрий
Когда читается:
1-й курс, 2 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Нестер (Нестеренко) Роман Юрьевич
Прогр. обучения:
Коммуникации, основанные на данных
Язык:
русский
Кредиты:
3
Контактные часы:
32
Программа дисциплины
Аннотация
Настоящая дисциплина читается на 1 курсе магистратуры образовательной программы «Коммуникации, основанные на данных» и относится к блоку базовых дисциплин программы. В результате успешного освоения курса студенты будут знать: • особенности интерфейса Jupyter Notebook; • переменные и базовые объекты в Python; уметь: • адекватно оценивать корректность использования методов анализа данных, применяемых при решении практических задач; владеть: • навыками программирования в Python; • навыками работы с наборами данных; • обработки и анализа данных с помощью библиотеки Pandas.
Цель освоения дисциплины
- Целями освоения дисциплины «Программирование для анализа данных» являются: - овладение навыками программирования на языке Python; - овладение навыками работы в среде интерактивной разработки Jupyter Notebook; - овладение методами обработки, анализа и визуализации качественных и количественных данных для решения прикладных задач, возникающих в сфере управления интегрированными коммуникациями и маркетинга.
Планируемые результаты обучения
- Знает особенности интерфейса Jupyter Notebook, переменные и базовые объекты в Python.
- Использует библиотеку pandas для анализа данных
- Умеет выполнять анализ и визуализацию данных в Python.
- Владеет навыками парсинга данных и работы с базами данных в Python.
Содержание учебной дисциплины
- Тема 1. Введение в работу с Python и Jupyter Notebook.Установка Jupyter Notebook в составе Anaconda. Особенности интерфейса Jupyter Notebook. Язык разметки Markdown. Установка и загрузка библиотек в Python. Документация к Python и ресурсы, посвященные программированию в Python. Переменные в Python. Типы данных: числовой, целочисленный, текстовый, логический. Преобразование типов. Объекты в Python. Основные структуры данных: списки и словари. Создание, доступ, добавление и удаление, выбор элементов и сортировка. Циклы. Дополнительные структуры данных: кортежи и множества. Операции с кортежами и множествами. Функции. Обработка исключений. Работа с файлами в Python. Чтение JSON-файлов с помощью Python. Модуль для работы с операционной системой.
- Тема 2. Основы работы с библиотекой Pandas. Объекты Series и DataFrame. Чтение данных в DataFrame из текстовых файлов (txt, csv, tsv), загрузка таблиц Excel (xls, xlsx). Чтение данных в DataFrame из объектов Python. Конвертация файлов в разных форматах с помощью Pandas. Первичный обзор данных. Преобразование типов колонок. Выбор, добавление и удаление колонок. Предобработка данных. Работа с пропущенными значениями и дубликатами. Выборка строк/столбцов и построение срезов. Использование списков для получения срезов. Изменение элементов DataFrame по условиям. Применение методов к столбцам с помощью apply. Группировка данных. Построение сводных таблиц. Объединение данных. Трансформация данных. Работа с колонками типа datetime. Работа со строками в pandas.
- Тема 3. Разведывательный анализ данных в Python. Визуализация количественных и качественных данных в Python. Визуализация данных с помощью Pandas. Описательный анализ с помощью pandas-profiling. Описательные статистики: среднее арифметическое, среднеквадратичное отклонение, медиана, квантили, квартили и процентили. Разведывательный анализ данных: типы и распределения данных. Выявление связей между качественными и количественными переменными. Построение базовых графиков с помощью Pandas. Визуализация количественных данных в Python: гистограммы, графики плотности распределения, ящики с усами, скрипичные диаграммы (violin plots), диаграммы рассеяния, матрицы диаграмм рассеяния. Визуализация качественных данных в Python: таблицы сопряженности, столбчатые и круговые диаграммы. Дополнительные инструменты визуализации: matplotlib, seaborn, plotly Работа с форматом графиков: изменение фона, палитра цветов, типы маркеров и линий, редактирование легенды графика.
- Тема 4. Работа с API. Парсинг HTML-страниц. Работа с базами данных из Python. Библиотека requests. Принципы работы API: GET- и POST-запросы. Получение данных по API. Преобразование данных API для загрузки в DataFrame. Парсинг HTML-страниц с помощью библиотеки BeautifulSoup. Передача данных парсинга в DataFrame. Работа с базами данных в Python. Загрузка полученных из базы данных в DataFrame.
Элементы контроля
- Осам. работа – самостоятельная работа.
- Од/з – домашнее задание.
- Оэкз – экзаменЭкзамен представляет собой набор задач по пройденным темам, которые выполняются на компьютере в Python (Jupyter Notebook). Экзамен оценивается по 10-ти балльной шкале. ОСОБЕННОСТИ ПРОВЕДЕНИЯ ЭКЗАМЕНА В ДИСТАНЦИОННОМ ФОРМАТЕ. Экзамен проводится в письменной форме с использованием асинхронного прокторинга. Экзамен проводится на платформе HSE Moodle https://et.hse.ru с использованием системы прокторинга Экзамус https://hse.student.examus.net. К экзамену необходимо подключиться за 5 минут до начала. На платформе Экзамус доступно тестирование системы. Компьютер студента должен удовлетворять требованиям: https://elearning.hse.ru/data/2020/05/07/1544135594/Технические%20требования%20к%20ПК%20студента.pdf Рекомендуется заблаговременно провести проверку компьютера до экзамена: https://elearning.hse.ru/data/2020/06/08/1605578905/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0%20%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0%20%D0%B4%D0%BE%20%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0.pdf Для участия в экзамене студент обязан: 1) обеспечить необходимые условия для работы Системы прокторинга: - достаточный уровень освещенности; - низкий уровень шума; - наличие документа, удостоверяющего личность пользователя; - отсутствие помех передаче видео и аудио сигнала; 2) использовать для идентификации оригинал документа, удостоверяющего его личность – паспорт, продемонстрировать паспорт в камеру и представиться перед началом выполнения заданий; 3) во время экзамена: • включить камеру и микрофон; • не покидать зону видимости веб-камерой во время тестирования; • не отключать микрофон и не снижать его уровень чувствительности к звуку во время тестирования; • использовать только одно средство вывода изображения (монитор, ТВ, проектор), одну клавиатуру, один манипулятор (компьютерную мышь, трекпойнт и др.); • сконцентрироваться на выполнении заданий на экране компьютера, не сосредотачивая взгляд на длительное время на посторонних предметах вне зоны видимости веб-камеры. Во время экзамена студентам запрещено: • привлекать помощь третьих лиц во время экзамена; • предоставлять доступ к компьютеру посторонним лицам во время тестирования; • вступать в разговоры с третьими лицами, • использовать любые гаджеты (сотовые телефоны, пейджеры, калькуляторы, планшеты), дополнительные мониторы и компьютерную технику, кроме той, что непосредственно используется для экзамена; использовать социальные сети, мессенджеры, электронную почту или любые другие ресурсы для обмена сообщениями. Во время экзамена студентам разрешено: открывать на компьютере материалы лекций и семинаров, а также пользоваться Интернет-ресурсами, посвященными программированию и анализу данных в Python. Кратковременным нарушением связи во время экзамена считается временной период до 5 минут. Долговременным нарушением связи во время экзамена считается временной период более 5 минут. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.3 * Од/з – домашнее задание. + 0.3 * Осам. работа – самостоятельная работа. + 0.4 * Оэкз – экзамен
Список литературы
Рекомендуемая основная литература
- McKinney, W. (2018). Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython (Vol. Second edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1605925
- Pilgrim, M. (2009). Dive Into Python 3. New York: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=326208
Рекомендуемая дополнительная литература
- Python для сложных задач: наука о данных и машинное обучение : пер. с англ., Плас, Дж. Вандер, 2019
- Vanderplas, J. T. (2016). Python Data Science Handbook : Essential Tools for Working with Data (Vol. First edition). Sebastopol, CA: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1425081