Бакалавриат
2020/2021
Анализ данных на Python
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Экономика)
Направление:
38.03.01. Экономика
Где читается:
Факультет экономических наук
Когда читается:
1-й курс, 3, 4 модуль
Формат изучения:
с онлайн-курсом
Преподаватели:
Аброскин Илья Дмитриевич,
Зарманбетов Ахмед Курманалиевич,
Карпов Максим Евгеньевич,
Максимовская Анастасия Максимовна,
Мидюкин Максим Олегович,
Петросян Артур Тигранович,
Ульянкин Филипп Валерьевич,
Филатов Артём Андреевич
Язык:
русский
Кредиты:
3
Контактные часы:
28
Программа дисциплины
Аннотация
Курс "Анализ данных на Python" нацелен на изучение языка программирования Python и получение базовых знаний и навыков для обработки, визуализации и статистического анализа данных, а также дальнейшего прохождения более специализированных курсов в этой области (например, машинного обучения). Первая часть дисциплины отведена на изучение основ языка Python, по итогам которой слушатели узнают о типах и структурах данных и освоят такие базовые понятия программирования, как условные операторы, функции, рекурсии и циклы. В рамках курса будут пройдены основы различных парадигм программирования: процедурное, функциональное и объектно-ориентированное программирование. Слушатели научатся решать задачи по парсингу, препроцессингу и визуализации данных с помощью стандартных и внешних библиотек Python. С использованием онлайн-курса "Основы программирования на Python" [URL:https://ru.coursera.org/learn/python-osnovy-programmirovaniya].
Цель освоения дисциплины
- Ознакомление студентов с основами программирования на языке Python
- Получение навыков обработки и анализа данных с применением библиотек языка Python
Планируемые результаты обучения
- Знать синтаксис и семантику основных конструкций языка программирования Python
- Знать основные структуры данных и парадигмы программирования
- Уметь формулировать аналитическую задачу и реализовывать ее выполнение на Python
- Уметь собирать, предобрабатывать и визуализировать данные и выводить их описательные статистики
Содержание учебной дисциплины
- Введение в язык программирования. Условные операторы. Вещественные числа.Целые числа, ввод-вывод, применение арифметических операций для целых чисел. Простые операции со строками. Знакомство с Python, основные типы данных и операции с ними. Запуск программ в среде Jupyter Notebook. Получение результатов. Основы работы с вещественными числами, округление. Знакомство с git.
- Кортежи, цикл for, списки.Кортежи, списки, основные методы работы с кортежами и списками. Функция range, цикл for. Методы сравнения элементов множества. Условный оператор и цикл while. Логический тип переменных, условный оператор. If, else. Цикл while.
- Функции и рекурсия.Функция. Локальные и глобальные переменные. Лямбда-функции.
- Множества и словари. Функциональное программирование.Методы создания множеств. Словари, создание и примеры использования. Примеры решения задач в функциональном стиле. Итераторы и генераторы. Классы.
- Объектно-ориентированное программирование.Введение в объектно-ориентированное программирование. Классы. Инкапсуляция и конструкторы. Наследование и полиморфизм.
- Обработка данных.Работа с табличными данными в Python. Библиотеки pandas, numpy, scipy. Манипуляции с данными, обработка пропусков, фильтрация и агрегация. Описательный анализ данных (мода, медиана, математическое ожидание, дисперсия, среднее квадратичное отклонение, стандартная ошибка среднего).
- Визуализация данных.Библиотека matplotlib, seaborn, plotly. Основные виды графиков (гистограммы, диаграммы рассеяния, диаграмма размаха (box plot), линейный график, круговая диаграмма, тепловые карты). Правила оформления графиков (подписывание осей, заголовка, изменение масштаба). Способы визуализации многомерных данных. Поиск выбросов в данных.
- Парсинг данныхПарсинг данных из открытых источников информации. Инструменты парсинга в Python (requests, bs4). Работа с файлами. Формат хранения данных (csv, tsv, json). Чтение и запись данных. Парсинг в несколько процессов (joblib). Использование прокси. API и его использование.
- Работа с внешними API различных сервисов.Работа с открытыми API с помощью XML. JSON и API. Управление браузером в RoboBrowser и Selenium
Элементы контроля
- Домашнее задание 1
- Домашнее задание 2
- Домашнее задание 3
- Контрольная работа 1
- Самостоятельная работа 2
- Экзамен (письменный)
- Домашнее задание 4
- Домашнее задание 5
- Самостоятельная работа 1
- Самостоятельная работа 3
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)Итог = Минимум(10, 0.05*ДЗ-1 + 0.1*ДЗ-2 + 0.1*ДЗ-3 + 0.1*ДЗ-4+ 0.15*ДЗ-5 + 0.1*СР-1 + 0.1*СР-2 + 0.1*СР-3 + 0.1*КР + 0.3*ЭКЗ)
Список литературы
Рекомендуемая основная литература
- Hastie, T., Tibshirani, R., Friedman, J. The elements of statistical learning: Data Mining, Inference, and Prediction. – Springer, 2009. – 745 pp.
- Lutz, M. (2008). Learning Python (Vol. 3rd ed). Beijing: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=415392
- McKinney, W. (2012). Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython. Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=495822
Рекомендуемая дополнительная литература
- 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
- Митчелл Р. - Скрапинг веб-сайтов с помощю Python - Издательство "ДМК Пресс" - 2016 - 280с. - ISBN: 978-5-97060-223-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100903