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

Материал из MathINFO
Перейти к навигации Перейти к поиску

Дорогие студенты!

Это страница курса «Python для сбора и анализа данных», читаемого в МИЭФ в весеннем семестре 2023-2024 учебного года.

Преподаватель: Тамбовцева Алла Андреевна.

Правила игры

  • Организационная презентация.
  • Формула оценки: 0.2 * Домашние задания + 0.3 * Лабораторные работы + 0.2 * Тест + 0.3 * Экзамен.
  • Дедлайны у лабораторных работ жёсткие и не переносятся.
  • Домашние задания, сданные позже дедлайна, оцениваются со штрафом: в пределах часа – 15% от оценки, суток – 30%, двух суток – 50%.
  • Вспомогательный онлайн-курс «Python как иностранный».

Программное обеспечение

Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки
для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн
, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Подробности по установке и работе – см. ниже в неделе 0.

Материалы и лабораторные работы

Неделя 0. Подготовка к работе. Настройка рабочего места

Для подготовки к работе на курсе можно ознакомиться со следующими материалами онлайн-курса:

А также с материалами по работе в Jupyter Notebook и Google Colab:

Дополнительно:

Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод

  • Видеозаписи занятия и «сырой» ipynb-файл с занятия.
  • Вычисления в Python, переменные и типы данных (читать, ipynb).
  • Ввод и вывод, форматирование строк, форматирование дат (читать, ipynb).
  • Практикум 1 (читать, ipynb), решения (читать, ipynb).
  • Интерактивные виджеты в Jupyter (альтернатива стандартному вводу и не только).

Дополнительно:

Лабораторная работа 1. Логические выражения и условные конструкции

Для выполнения лабораторной работы необходимо вспомнить формулировку логических выражений
и конструкцию if-elif-else. Для этого (на выбор) можно:

  • Прослушать материал темы 2 Условия и логические выражения онлайн-курса «Python как иностранный».
  • Прочитать конспект лекции Логические выражения и условные конструкции.
  • Изучить материалы онлайн-учебника Pythontutor.
Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 1 ipynb 16 февраля 16:20 ссылка на Dropbox

Неделя 2. Строки, кортежи, списки. Цикл for и его аналоги

Дополнительно:

Лабораторная работа 2. Методы на списках и строках

Для выполнения лабораторной работы необходимо понимать устройство методов на разных объектах
и уметь применять основные методы на списках и строках. Для этого (на выбор) можно:

Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 2 ipynb 1 марта 16:20 ссылка на Dropbox

Неделя 3. Словари и работа с API

Дополнительно:

Лабораторная работа 3. Функции и lambda-функции

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

Для этого можно:

  • Прослушать материал темы 8 Функции (достаточно первого раздела) онлайн-курса «Python как иностранный».
  • Прочитать конспект лекции Функции (для желающих – более подробная лекция И.В.Щурова).
  • Прочитать конспект по lambda-функциям.
Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 3 ipynb 11 марта 23:59 ссылка на Dropbox

Лабораторная работа 4. Цикл while и его аналоги

Для выполнения лабораторной работы необходимо самостоятельно познакомиться с циклом while
и конструкцией цикл for + оператор break (последняя – по желанию). Для этого можно:

  • Прослушать материал темы 3 Цикл while онлайн-курса «Python как иностранный».
  • Прочитать конспект краткой лекции Цикл while и его альтернативы.
  • Изучить материалы онлайн-учебника Pythontutor: цикл while.
Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 4 ipynb 15 марта 16:20 ссылка на Dropbox

Неделя 4. Массивы NumPy и датафреймы Pandas

Дополнительно:

Неделя 5. Датафреймы Pandas. Знакомство с HTML

Неделя 6. Парсинг HTML с BeautifulSoup и Selenium

Дополнительно:

  • Обработка таблиц из HTML с помощью pandas (читать)

Неделя 7. Управление браузером с Selenium: продолжение

  • Видеозаписи занятий.
  • Практикум 7.1. Управление браузером с Selenium: динамические таблицы (ipynb), решения (читать, ipynb)
  • Практикум 7.2. Парсинг HTML и обработка JSON (ipynb)

Дополнительно:

  • Скачивание файлов с Selenium (читать)
  • Управление браузером с Selenium: работа с ВКонтакте и пример скроллинга (читать), решения (читать, ipynb)

Лабораторная работа 5*. Датафреймы pandas

Выполняется по желанию, оценку за эту работу можно перенести на пропущенную
лабораторную или на лабораторную с самой низкой оценкой.

Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 5* ipynb polit.csv 19 апреля 16:20 ссылка на Dropbox

Домашние задания

Домашнее задание Задания Дедлайн Куда сдавать
Домашнее задание 1 ipynb 1 апреля 23:59 ссылка на Dropbox
Домашнее задание 2 см. почту 22 апреля 23:59 ссылка на Dropbox