Python для сбора и анализа данных
Дорогие студенты!
Это страница курса «Python для сбора и анализа данных», читаемого в МИЭФ в весеннем семестре 2023-2024 учебного года.
Преподаватель: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
- 2 Программное обеспечение
- 3 Материалы и лабораторные работы
- 3.1 Неделя 0. Подготовка к работе. Настройка рабочего места
- 3.2 Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод
- 3.3 Лабораторная работа 1. Логические выражения и условные конструкции
- 3.4 Неделя 2. Строки, кортежи, списки. Цикл for и его аналоги
- 3.5 Лабораторная работа 2. Методы на списках и строках
- 3.6 Неделя 3. Словари и работа с API
- 3.7 Лабораторная работа 3. Функции и lambda-функции
- 3.8 Лабораторная работа 4. Цикл while и его аналоги
- 3.9 Неделя 4. Массивы NumPy и датафреймы Pandas
- 3.10 Неделя 5. Датафреймы Pandas. Знакомство с HTML
- 3.11 Неделя 6. Парсинг HTML с BeautifulSoup и Selenium
- 4 Домашние задания
Правила игры
- Организационная презентация.
- Формула оценки: 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.
- Видео. Первая программа, задачи для тренировки.
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
- Работа в Jupyter Notebook (видео), работа в Google Colab (видео).
Дополнительно:
- Набор текста в Jupyter (видео, ipynb, example.jpeg).
- Markdown: больше про Markdown, знакомство с Jupyter Notebook и Markdown (читать, ipynb).
- LaTeX для формул и не только: Overleaf, документация, материалы по LaTeX.
Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод
- Видеозаписи занятия и «сырой» ipynb-файл с занятия.
- Вычисления в Python, переменные и типы данных (читать, ipynb).
- Ввод и вывод, форматирование строк, форматирование дат (читать, ipynb).
- Практикум 1 (читать, ipynb), решения (читать, ipynb).
- Интерактивные виджеты в Jupyter (альтернатива стандартному вводу и не только).
Дополнительно:
- Стандарты оформления кода Python: PEP8.
- Pythontutor: визуализатор кода, вычисления, ввод и вывод.
- Вычисления с заданной точностью с модулем decimal (документация).
- Вычисления с обыкновенными дробями с модулем fractions (документация).
Лабораторная работа 1. Логические выражения и условные конструкции
Для выполнения лабораторной работы необходимо вспомнить формулировку логических выражений
и конструкцию if-elif-else.
Для этого (на выбор) можно:
- Прослушать материал темы 2 Условия и логические выражения онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Логические выражения и условные конструкции.
- Изучить материалы онлайн-учебника Pythontutor.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 1 | ipynb | 16 февраля 16:20 | ссылка на Dropbox |
Неделя 2. Строки, кортежи, списки. Цикл for и его аналоги
- Видеозаписи занятия и «сырой» ipynb-файл с занятия.
- Конструкция try-except (статья).
- Строки, кортежи, списки и цикл for (читать, скачать).
- Цикл for, списковые включения, функции zip() и enumerate() (читать, скачать).
- Практикум 2 (читать, ipynb), решения (читать, скачать).
- Файлы для практикума: stop_words_ru.txt, guitar.jpeg.
Дополнительно:
Лабораторная работа 2. Методы на списках и строках
Для выполнения лабораторной работы необходимо понимать устройство методов на разных объектах
и уметь применять основные методы на списках и строках.
Для этого (на выбор) можно:
- Прослушать материал темы 5 Методы онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Методы на строках, конспект лекции Методы на списках.
- Изучить материалы онлайн-учебника Pythontutor: цикл for, строки, списки, split(), join().
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 2 | ipynb | 1 марта 16:20 | ссылка на Dropbox |
Неделя 3. Словари и работа с API
- Видеозаписи занятия и «сырой» ipynb-файл с занятия.
- Словари (читать, ipynb).
- Практикум 3.1. Словари и введение в работу с API (читать, ipynb), решения (читать, ipynb).
- Практикум 3.2. Работа с API ВКонтакте (читать, ipynb), решения (читать, ipynb).
Дополнительно:
Лабораторная работа 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
- Видеозаписи занятия и «сырой» ipynb-файл с занятия.
- Массивы NumPy, последовательности и датафреймы Pandas (читать, ipynb).
- Операции с датафреймами pandas: часть 1 (читать, ipynb), файл Salaries.csv.
Дополнительно:
- Официальная документация NumPy и Pandas, Matplotlib.
- Цвета в Python, веселый список цветов.
- Вводный практикум по работе с выборками (есть ящики с усами): читать, файл flats.csv.
Неделя 5. Датафреймы Pandas. Знакомство с HTML
- Видеозаписи занятия (разбор практикума 5).
- Операции с датафреймами pandas: часть 2 (читать, ipynb), файл Salaries.csv.
- Практикум 5. Обрабатываем посты ВКонтакте (читать, ipynb), файл final.xlsx, решения (читать, ipynb).
- Знакомство с HTML (слайды).
Неделя 6. Парсинг HTML с BeautifulSoup и Selenium
- Практикум 6.1. Парсинг с BeautifulSoup: тэги и атрибуты (читать, ipynb).
- Практикум 6.2. Управление браузером с Selenium: поиск элементов на странице и запросы XPATH (читать, ipynb).
Домашние задания
Домашнее задание | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Домашнее задание 1 | ipynb | 1 апреля 23:59 | ссылка на Dropbox |