Python для сбора и анализа данных: различия между версиями
Строка 105: | Строка 105: | ||
===Занятие 09. Примеры парсинга с Selenium (20 апреля) === | ===Занятие 09. Примеры парсинга с Selenium (20 апреля) === | ||
− | * [Инструкция] по установке драйверов для Chrome, [ссылка] на драйвера. | + | * [https://github.com/allatambov/WebScrape23/blob/main/selenium.pdf Инструкция] по установке драйверов для Chrome, [https://chromedriver.chromium.org/downloads ссылка] на драйвера. |
* Код для практикума: ссылка. | * Код для практикума: ссылка. | ||
Версия 17:36, 20 апреля 2023
Это страница факультатива «Python для сбора и анализа данных», читаемого в МИЭФ в 2022/2023 учебном году.
Авторы курса: Щуров Илья Валерьевич, Тамбовцева Алла Андреевна.
Лекции и семинары ведет: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
- 2 Программное обеспечение
- 3 Материалы занятий
- 3.1 Занятие 00. Презентация факультатива и знакомство с Jupyter Notebook (1 февраля)
- 3.2 Занятие 01. Вычисления и переменные. Типы данных. Ввод и вывод. (14 и 16 февраля)
- 3.3 Занятие 02. Списки и цикл for. Методы .split() и .join() (21 и 27 февраля)
- 3.4 Занятие 03. Методы на строках. Чтение и запись txt-файлов. (28 февраля и 2 марта)
- 3.5 Занятие 04. Условные конструкции и цикл while. (7 и 9 марта)
- 3.6 Занятие 05. Множества и словари. Знакомство с API (14 и 16 марта)
- 3.7 Занятие 06. Функции. Массивы и датафреймы pandas (21 и 23 марта)
- 3.8 Занятие 07. Введение в HTML. Парсинг с BeautifulSoup (3 и 5 апреля)
- 3.9 Занятие 08. Примеры парсинга с BeautifulSoup и Pandas (11 и 13 апреля)
- 3.10 Занятие 09. Примеры парсинга с Selenium (20 апреля)
- 4 Домашние задания
- 5 Проект
Правила игры
- Формула оценки: 0.4 * ДЗ + 0.2 * Тест + 0.4 * Проект.
- Сдача домашних заданий с опозданием допускается, но со штрафом: за задержку в пределах часа – 15% от полученной оценки, в пределах суток – 30%, в пределах двух дней – 50%.
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.
Материалы занятий
Занятие 00. Презентация факультатива и знакомство с Jupyter Notebook (1 февраля)
- Презентация факультатива: слайды, видео.
- Инструкция по работе с Jupyter Notebook. Jupyter Notebook и Markdown (читать, ipynb).
Дополнительно:
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
- LaTeX: ShareLaTeX для желающих, документация на английском, материалы других курсов по LaTeX.
Занятие 01. Вычисления и переменные. Типы данных. Ввод и вывод. (14 и 16 февраля)
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Вычисления и переменные в Python (читать, ipynb).
- Типы переменных, ввод и вывод в Python. Форматирование строк (читать, ipynb).
- Практикум 1 (читать, ipynb), решения задач (читать, ipynb).
- Интерактивные виджеты в Jupyter Notebook: документация ipywidgets.
Дополнительно:
- Вычисления с заданной точностью с модулем decimal, официальная документация decimal.
- Вычисления с обыкновенными дробями с модулем fractions, официальная документация fractions.
- Символьные вычисления с sympy: часть 1 (sympy-1.ipynb), часть 2 (sympy-2.ipynb), официальная документация sympy.
- Стандарты оформления кода Python: PEP8, проверка соответствия кода стандартам: PEP8 online check.
Занятие 02. Списки и цикл for. Методы .split() и .join() (21 и 27 февраля)
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Списки и цикл for (читать, ipynb). Методы .split() и .join() (читать, ipynb).
- Практикум 2 (читать, ipynb), решения задач (читать, ipynb).
Дополнительно:
- Pythontutor: визуализатор кода.
- Pythontutor: списки, цикл for.
Занятие 03. Методы на строках. Чтение и запись txt-файлов. (28 февраля и 2 марта)
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Альтернативы циклу for (читать, ipynb). Кортежи и функция zip() (читать, ipynb).
- Методы на строках (читать, ipynb). Чтение и запись txt-файлов (читать, ipynb), файл intro.txt.
- Практикум 3 (читать, ipynb), решения задач (читать, ipynb).
Дополнительно:
- Документация библиотеки pymorphy2 (морфологический анализатор).
- Тьюториал по построению облака слов с библиотекой wordcloud.
- Библиотека dostoevsky для анализа тональности текстов.
Занятие 04. Условные конструкции и цикл while. (7 и 9 марта)
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Логические выражения и условные конструкции (читать, ipynb). Цикл while (читать, ipynb).
- Практикум 4 (читать, ipynb), файл ducks.txt, решения задач (читать, ipynb).
Занятие 05. Множества и словари. Знакомство с API (14 и 16 марта)
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Множества (читать, ipynb). Словари (читать, ipynb).
- Инструкция по получению доступа к API ВКонтакте.
- Практикум 5 (читать, ipynb), решения задач (читать, ipynb).
Занятие 06. Функции. Массивы и датафреймы pandas (21 и 23 марта)
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Функции: полная лекция Щурова И.В., краткий конспект нашей лекции (читать, ipynb).
- Lambda-функции (читать, ipynb).
- Практикум 6 (читать, ipynb), решения практикума (читать, ipynb).
- Массивы и датафреймы pandas (читать, скачать).
Дополнительно:
- Pythontutor: функции
- Создание модулей и библиотек в Python: документация
Занятие 07. Введение в HTML. Парсинг с BeautifulSoup (3 и 5 апреля)
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Знакомство с HTML (слайды).
- Практикум по парсингу HTML с BeautifulSoup (читать, ipynb), решения (читать, ipynb).
Занятие 08. Примеры парсинга с BeautifulSoup и Pandas (11 и 13 апреля)
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Практикум по сбору информации в «псевдотабличном» виде (читать, ipynb).
- Обработка таблиц внутри HTML с BeautifulSoup и pandas (читать, ipynb).
Занятие 09. Примеры парсинга с Selenium (20 апреля)
- Инструкция по установке драйверов для Chrome, ссылка на драйвера.
- Код для практикума: ссылка.
Домашние задания
- Домашние задания сдаются через систему python.math-info, видео-инструкция по работе с системой.
Домашнее задание | Дедлайн |
---|---|
Домашнее задание 1 | 27.02 23:59 |
Домашнее задание 2 | 09.03 23:59 |
Домашнее задание 3 | 16.03 23:59 |
Домашнее задание 4, pesem.txt | 05.04 23:59 |
Домашнее задание 5 | 12.04 23:59 |
Домашнее задание 6, файл ipynb | 20.04 23:59 |
Домашнее задание 7 | |
Домашнее задание 8 |
Проект
- Описание проекта и критерии оценивания (файл).
- Точный дедлайн пока в процессе согласования с учебным офисом, примерная дата дедлайна – 20 мая.
- Проект может быть выполнен как на русском, так и на английском языке, индивидуально или в группах не более 3 человек.
- Чтобы получить высокие баллы за проект (оценки 9-10), в проекте необходимо использовать продвинутые инструменты/библиотеки, не обсуждаемые подробно в рамках курса.