• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Программирование для анализа данных

2020/2021
Учебный год
RUS
Обучение ведется на русском языке
3
Кредиты
Статус:
Курс обязательный
Когда читается:
1-й курс, 2 модуль

Преподаватель

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

Аннотация

Настоящая дисциплина читается на 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