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

Материал из MathINFO
Перейти к навигации Перейти к поиску
Строка 128: Строка 128:
 
* [https://www.dropbox.com/s/prj5p6atlbeiclh/CLASS10.mp4?dl=0 Видеозапись] занятия.
 
* [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 ссылке].
 
* Базовые операции с датафреймами 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://streamlit.io/ Страница] проекта Streamlit, [https://docs.streamlit.io/library/cheatsheet перечень] основных функций, данные[https://docs.streamlit.io/library/api-reference/charts графики],
 
* Инструкция по работе со 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/ версия] приложения.
 
* Инструкция по работе со 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).
 
* [https://carpentries-incubator.github.io/python-interactive-data-visualizations/08-publish-your-app/index.html Инструкция] по публикации приложения (сначала создать аккаунт и репозиторий на Github).

Версия 22:55, 5 мая 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 апреля)

  • Видеозапись занятия, сырой ipynb с занятия.
  • Инструкция по установке драйверов для Chrome, ссылка на драйвера.
  • Краткое введение в регулярные выражения (читать, скачать), применение re для обработки JSON-строк в HTML (читать).
  • Практикум по управлению браузером с Selenium на примере Кинопоиска (читать, скачать).
  • Практикум по управлению браузером с Selenium: пример динамической страницы (читать, скачать).
  • Ссылки для работы: kinopoisk, oec.

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

  • Неофициальная документация библиотеки 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), в проекте необходимо использовать продвинутые инструменты/библиотеки, не обсуждаемые подробно в рамках курса.