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

Материал из MathINFO
Перейти к навигации Перейти к поиску
Строка 95: Строка 95:
  
 
* Парсинг HTML с BeautifulSoup ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-html.ipynb icef-html.ipynb]).
 
* Парсинг HTML с BeautifulSoup ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-html.ipynb icef-html.ipynb]).
* [https://chromedriver.chromium.org/downloads Ссылка], [https://github.com/mozilla/geckodriver/releases ссылка] для скачивания драйверов selenium для Chrome, [https://allatambov.github.io/icef/instr-wb.pdf инструкция] по решению проблем на Mac.
+
* Ссылка для скачивания драйверов selenium для [https://chromedriver.chromium.org/downloads Chrome] и [https://github.com/mozilla/geckodriver/releases Firefox], [https://allatambov.github.io/icef/instr-wb.pdf инструкция] по решению проблем на Mac.
 +
 
 +
=== 23 апреля [Лекция] [Консультация] ===
 +
 
 +
'''Тема 10. Управление браузером с Selenium. Работа с API.'''
 +
 
 +
* Управление браузером с Selenium ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-selenium.ipynb icef-selenium.ipynb]), еще [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/selenium-books.ipynb пример] с Selenium.
 +
* Работа с API mos.ru ([https://nbviewer.jupyter.org/github/allatambov/misc/blob/master/mos-API.ipynb mos-API.ipynb]), документация [https://apidata.mos.ru/ здесь].
 +
* Работа с API ВКонтакте ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/lect-vk-api.ipynb lect-vk-api.ipynb], [https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/vk-add.ipynb vk-add.ipynb]), получение [https://allatambov.github.io/pypolit/vk-auth.pdf доступа].
  
 
==Дополнительные материалы==
 
==Дополнительные материалы==

Версия 02:48, 21 апреля 2021

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

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

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

Правила игры

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

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

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

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

10 февраля Видеозапись

Тема 1. Введение в Python и Jupyter Notebook

Тема 2. Типы данных в Python. Ввод и вывод.

17 февраля Видеозапись

Тема 3. Списки и цикл for. Методы на строках.

24 февраля Видеозапись

Тема 4. Проверка условий и условные конструкции. Цикл while.

Тема 5*. Структуры данных в Python: кортежи, множества, словари.

3 марта Видеозапись

Тема 6. Функции в Python.

10 марта Видеозапись

Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.

17 марта Видеозапись

Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.

24 марта Видеозапись

Тема 8. Визуализация и разведывательный анализ данных.

7 апреля Видеозапись

Тема 9. Парсинг HTML-файлов и управление браузером с Selenium.

23 апреля [Лекция] [Консультация]

Тема 10. Управление браузером с Selenium. Работа с API.

Дополнительные материалы

Библиотека SymPy для символьных вычислений

Введение в SymPy: часть 1 (sympy-1.ipynb). Введение в SymPy: часть 2 (sympy-2.ipynb). Задачи по SymPy (sympy-problems.ipynb). Официальная документация SymPy.

Работа с текстом в Python

Библиотека pymorphy2 (морфологический анализатор). Библиотека pymystem3 (предобработка текста). Тьюториал для построения облака слов (word cloud).

Объекты и классы в Python

Конспект по классам, материалы по классам от W3schools.

Статистика и анализ данных в Python

Материалы по статистическим тестам и линейным регрессиям в Python.

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

Домашнее задание Ссылка Дедлайн
Online 1 DataCamp: глава Python Lists 17 февраля 18:10
Online 2 DataCamp: глава Fundamental data types 24 февраля 18:10
Домашнее задание 1 задание, hw01.ipynb, сдавать на Dropbox 28 февраля 23:59
Online 3 DataCamp: глава Dictionaries - the root of Python 5 марта 23:59
Online 4 DataCamp: глава Default arguments, variable-length arguments and scope 10 марта 18:10
Домашнее задание 2 задание, hw02.ipynb, сдавать на Dropbox 15 марта 23:59
Online 5 DataCamp: глава NumPy 18 марта 18:10
Домашнее задание 3 задание, hw03.ipynb, сдавать на Dropbox 30 апреля 23:59
Online 6 DataCamp: глава Advanced indexing 7 мая 23:59
Online 7 DataCamp: глава Rearranging and reshaping data 7 мая 23:59

Проект

Описание проекта

  • Описание проекта и критерии оценивания.
  • Проект необходимо загрузить на Dropbox до 25 мая 23:59 по ссылке ниже, дедлайн жёсткий. Файл с кодом, файл с документацией и вспомогательные файлы (при наличии) лучше загружать в виде zip-архива.

Полезные материалы

Исполняемые файлы: создание и запуск файла с расширением .py (видео).

Дизайн и интерактив:

  • Оформление виджетов Jupyter Notebook.
  • Документация библиотеки dash для интерактивных дэшбордов.
  • Обзор работы с dash (видео), файл dash1.py.
  • Редактирование шаблонного кода для виджета с графиками (видео), обновлённый файл dash1.py.
  • Dashboard со своими данными (видео), файл dash2.py.
  • Dashboard со своими данными и меню для пользователя (видео), файл dash3.py.
  • Создание окон и кнопок с tkinter.

Географические карты: