Python для сбора и анализа данных: различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показано 13 промежуточных версий этого же участника)
Строка 112: Строка 112:
 
* [https://www.dropbox.com/s/hq4z16wzizehejs/CLASS09.mp4?dl=0 Видеозапись] занятия, сырой [https://www.dropbox.com/s/gkygabdb2opllt9/CLASS09.ipynb?dl=0 ipynb] с занятия.
 
* [https://www.dropbox.com/s/hq4z16wzizehejs/CLASS09.mp4?dl=0 Видеозапись] занятия, сырой [https://www.dropbox.com/s/gkygabdb2opllt9/CLASS09.ipynb?dl=0 ipynb] с занятия.
 
* [https://github.com/allatambov/WebScrape23/blob/main/selenium.pdf Инструкция] по установке драйверов для Chrome, [https://chromedriver.chromium.org/downloads ссылка] на драйвера.
 
* [https://github.com/allatambov/WebScrape23/blob/main/selenium.pdf Инструкция] по установке драйверов для Chrome, [https://chromedriver.chromium.org/downloads ссылка] на драйвера.
* Краткое введение в регулярные выражения (читать, скачать).  
+
* Краткое введение в регулярные выражения ([https://nbviewer.org/github/allatambov/PyICEF-2023/blob/main/re-short.ipynb читать], [https://www.dropbox.com/s/3u5st1emsh5cbrq/re-short.ipynb?dl=0 скачать]), применение ''re'' для обработки JSON-строк в HTML ([https://nbviewer.org/github/allatambov/PyICEF-2023/blob/main/parsing-handling-incorrect-json.ipynb читать]).
* Практикум по управлению браузером с Selenium на примере Кинопоиска (читать, скачать).  
+
* Практикум по управлению браузером с Selenium на примере Кинопоиска ([https://nbviewer.org/github/allatambov/PyICEF-2023/blob/main/selenium-kino.ipynb читать], [https://www.dropbox.com/s/nyqy8tavs3pcso4/selenium-kino.ipynb?dl=0 скачать]).  
* Практикум по управлению браузером с Selenium: пример динамической страницы (читать, скачать).  
+
* Практикум по управлению браузером с Selenium: пример динамической страницы ([https://nbviewer.org/github/allatambov/PyICEF-2023/blob/main/OEC_collect.ipynb читать], [https://www.dropbox.com/s/194hh0a1h9jqrrn/OEC_collect.ipynb?dl=0 скачать]).  
 
* Ссылки для работы: [https://sso.passport.yandex.ru/push?retpath=https%3A%2F%2Fwww.kinopoisk.ru%2F%2Fapi%2Fprofile-pending%2F%3Fretpath%3Dhttps%253A%252F%252Fwww.kinopoisk.ru%252F&uuid=f0e989dd-d612-4911-b8eb-f087d5a4a64a kinopoisk], [https://oec.world/en/profile/country/nor?depthSelector1=HS4Depth&yearSelector1=2000 oec].
 
* Ссылки для работы: [https://sso.passport.yandex.ru/push?retpath=https%3A%2F%2Fwww.kinopoisk.ru%2F%2Fapi%2Fprofile-pending%2F%3Fretpath%3Dhttps%253A%252F%252Fwww.kinopoisk.ru%252F&uuid=f0e989dd-d612-4911-b8eb-f087d5a4a64a kinopoisk], [https://oec.world/en/profile/country/nor?depthSelector1=HS4Depth&yearSelector1=2000 oec].
  
Строка 123: Строка 123:
 
* Практикум по управлению браузером с Selenium: XPATH и скачивание файлов ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice08-solutions.ipynb читать], [https://www.dropbox.com/s/tm0k4tdg4e23iyo/psy-practice08-solutions.ipynb?dl=0 скачать]).
 
* Практикум по управлению браузером с Selenium: XPATH и скачивание файлов ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice08-solutions.ipynb читать], [https://www.dropbox.com/s/tm0k4tdg4e23iyo/psy-practice08-solutions.ipynb?dl=0 скачать]).
 
* Практикум по управлению браузером с Selenium на примере Twitter: TBA
 
* Практикум по управлению браузером с Selenium на примере Twitter: TBA
 +
 +
===Занятие 10. Библиотека pandas, приложения Streamlit  (27 апреля) ===
 +
 +
* [https://www.dropbox.com/s/prj5p6atlbeiclh/CLASS10.mp4?dl=0 Видеозапись] занятия.
 +
* Базовые операции с датафреймами pandas ([читать], [https://www.dropbox.com/s/5hjbc0ydffx2re9/pandas-intro.ipynb?dl=0 ipynb]), файл [https://www.dropbox.com/s/yoyqsrwcedf196s/Salaries.csv?dl=0 Salaries.csv], загрузить данные можно также по [https://raw.githubusercontent.com/allatambov/PyICEF-2023/main/Salaries.csv ссылке].
 +
* [https://streamlit.io/ Проект] Streamlit: основные [https://docs.streamlit.io/library/cheatsheet функции], [https://docs.streamlit.io/library/api-reference/data данные], [https://docs.streamlit.io/library/api-reference/charts графики], [https://docs.streamlit.io/library/api-reference/layout структурирование] страницы, [https://docs.streamlit.io/library/api-reference/widgets меню] для ввода.
 +
* Инструкция по работе со streamlit ([https://nbviewer.org/github/allatambov/PyICEF-2023/blob/main/instruct-streamlit.ipynb читать], [https://www.dropbox.com/s/u969waqtuuhvpsl/instruct-streamlit.ipynb?dl=0 ipynb]), файл myapp.py ([https://github.com/allatambov/PyICEF-2023/blob/main/myapp.py читать], [https://www.dropbox.com/s/m3q02boidf1w9i9/myapp.py?dl=0 скачать]), более интересная [https://allatambov-steamlit-salaries-myapp-upd-4zgu9x.streamlit.app/ версия] приложения.
 +
* [https://carpentries-incubator.github.io/python-interactive-data-visualizations/08-publish-your-app/index.html Инструкция] по публикации приложения (сначала создать аккаунт и репозиторий на Github).
  
 
== Домашние задания ==
 
== Домашние задания ==
  
 
* Домашние задания сдаются через систему [http://python.math-hse.info/admin/login/?next=%2F python.math-info], [https://www.dropbox.com/s/5o3id5s0hrmi6zt/system-intro.mp4?dl=0 видео-инструкция] по работе с системой.
 
* Домашние задания сдаются через систему [http://python.math-hse.info/admin/login/?next=%2F python.math-info], [https://www.dropbox.com/s/5o3id5s0hrmi6zt/system-intro.mp4?dl=0 видео-инструкция] по работе с системой.
 +
* Домашнее задание №8 бонусное, необязательное, его можно сдать, если хочется повысить оценку за домашние задания. Если вы не сдаете ДЗ№8, оценка считается как среднее по семи обязательным заданиям. Если сдаете ДЗ№8, оценку за него можно перенести на любое несданное задание или задание с самой низкой оценкой.
  
 
{| class="wikitable"
 
{| class="wikitable"

Текущая версия на 01:30, 6 мая 2023

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

Авторы курса: Щуров Илья Валерьевич, Тамбовцева Алла Андреевна.

Лекции и семинары ведет: Тамбовцева Алла Андреевна.

Правила игры

  • Формула оценки: 0.4 * ДЗ + 0.2 * Тест + 0.4 * Проект.
  • Сдача домашних заданий с опозданием допускается, но со штрафом: за задержку в пределах часа – 15% от полученной оценки, в пределах суток – 30%, в пределах двух дней – 50%.

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

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

Материалы занятий

Занятие 00. Презентация факультатива и знакомство с Jupyter Notebook (1 февраля)

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

Занятие 01. Вычисления и переменные. Типы данных. Ввод и вывод. (14 и 16 февраля)

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

  • Вычисления с заданной точностью с модулем 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 февраля)

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

Занятие 03. Методы на строках. Чтение и запись txt-файлов. (28 февраля и 2 марта)

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

  • Документация библиотеки pymorphy2 (морфологический анализатор).
  • Тьюториал по построению облака слов с библиотекой wordcloud.
  • Библиотека dostoevsky для анализа тональности текстов.

Занятие 04. Условные конструкции и цикл while. (7 и 9 марта)

Занятие 05. Множества и словари. Знакомство с API (14 и 16 марта)

Занятие 06. Функции. Массивы и датафреймы pandas (21 и 23 марта)

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

Занятие 07. Введение в HTML. Парсинг с BeautifulSoup (3 и 5 апреля)

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

Занятие 08. Примеры парсинга с BeautifulSoup и Pandas (11 и 13 апреля)

Занятие 09. Примеры парсинга с Selenium (20 апреля)

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

  • Неофициальная документация библиотеки Selenium.
  • Практикум по управлению браузером с Selenium на примере ВКонтакте (читать, ipynb).
  • Практикум по управлению браузером с Selenium: XPATH и скачивание файлов (читать, скачать).
  • Практикум по управлению браузером с Selenium на примере Twitter: TBA

Занятие 10. Библиотека pandas, приложения Streamlit (27 апреля)

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

  • Домашние задания сдаются через систему python.math-info, видео-инструкция по работе с системой.
  • Домашнее задание №8 бонусное, необязательное, его можно сдать, если хочется повысить оценку за домашние задания. Если вы не сдаете ДЗ№8, оценка считается как среднее по семи обязательным заданиям. Если сдаете ДЗ№8, оценку за него можно перенести на любое несданное задание или задание с самой низкой оценкой.
Домашнее задание Дедлайн
Домашнее задание 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, файл polit.csv 04.05 23:59
Домашнее задание 8*, файл ipynb 15.05 23:59

Проект

  • Описание проекта и критерии оценивания (файл).
  • Дедлайн: 19 мая 23:59.
  • Проект может быть выполнен как на русском, так и на английском языке, индивидуально или в группах не более 3 человек.
  • Чтобы получить высокие баллы за проект (оценки 9-10), в проекте необходимо использовать продвинутые инструменты/библиотеки, не обсуждаемые подробно в рамках курса.