Python для сбора и анализа данных: различия между версиями
(не показано 29 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Это страница факультатива '''«Python для сбора и анализа данных»''', читаемого в МИЭФ в '''2020/2021''' учебном году. | Это страница факультатива '''«Python для сбора и анализа данных»''', читаемого в МИЭФ в '''2020/2021''' учебном году. | ||
+ | |||
+ | Авторы курса: Щуров Илья Валерьевич, Тамбовцева Алла Андреевна | ||
Лекции и семинары ведет: Тамбовцева Алла Андреевна | Лекции и семинары ведет: Тамбовцева Алла Андреевна | ||
Строка 46: | Строка 48: | ||
* Проверка условий ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/conditions.ipynb конспект], [https://allatambov.github.io/icef/seminars/conditions.ipynb conditions.ipynb]). Условные конструкции ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/if-else.ipynb конспект], [https://allatambov.github.io/icef/seminars/if-else.ipynb if-else.ipynb]). Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия]. | * Проверка условий ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/conditions.ipynb конспект], [https://allatambov.github.io/icef/seminars/conditions.ipynb conditions.ipynb]). Условные конструкции ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/if-else.ipynb конспект], [https://allatambov.github.io/icef/seminars/if-else.ipynb if-else.ipynb]). Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия]. | ||
* Цикл while ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/while.ipynb конспект], [https://allatambov.github.io/icef/seminars/while.ipynb while.ipynb]). Pythontutor: цикл [https://pythontutor.ru/lessons/while/ while]. Сравнение continue и pass ([https://www.geeksforgeeks.org/difference-between-continue-and-pass-statements-in-python/ статья]). | * Цикл while ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/while.ipynb конспект], [https://allatambov.github.io/icef/seminars/while.ipynb while.ipynb]). Pythontutor: цикл [https://pythontutor.ru/lessons/while/ while]. Сравнение continue и pass ([https://www.geeksforgeeks.org/difference-between-continue-and-pass-statements-in-python/ статья]). | ||
− | * Семинар 3: условные конструкции и цикл while ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar03.ipynb задания], [https://allatambov.github.io/icef/seminars/icef-seminar03.ipynb icef-seminar03.ipynb]), решения (icef-seminar03-solution.ipynb). | + | * Семинар 3: условные конструкции и цикл while ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar03.ipynb задания], [https://allatambov.github.io/icef/seminars/icef-seminar03.ipynb icef-seminar03.ipynb]), решения ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar03-solutions.ipynb конспект], [https://allatambov.github.io/icef/seminars/icef-seminar03-solutions.ipynb icef-seminar03-solution.ipynb]). |
'''Тема 5*. Структуры данных в Python: кортежи, множества, словари.''' | '''Тема 5*. Структуры данных в Python: кортежи, множества, словари.''' | ||
Строка 53: | Строка 55: | ||
* Вспомогательные лекции: кортежи ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/tuples.ipynb конспект], [https://allatambov.github.io/icef/seminars/tuples.ipynb tuples.ipynb]), словари ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/dicts.ipynb конспект], [https://allatambov.github.io/icef/seminars/dicts.ipynb dicts.ipynb]), множества ([https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/sets.ipynb конспект]). | * Вспомогательные лекции: кортежи ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/tuples.ipynb конспект], [https://allatambov.github.io/icef/seminars/tuples.ipynb tuples.ipynb]), словари ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/dicts.ipynb конспект], [https://allatambov.github.io/icef/seminars/dicts.ipynb dicts.ipynb]), множества ([https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/sets.ipynb конспект]). | ||
* Примеры задач на словари с решениями ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/seminar5-solutions.ipynb конспект], [https://allatambov.github.io/pydj/seminars/seminar5-solutions.ipynb файл]). | * Примеры задач на словари с решениями ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/seminar5-solutions.ipynb конспект], [https://allatambov.github.io/pydj/seminars/seminar5-solutions.ipynb файл]). | ||
+ | |||
+ | === 3 марта [https://www.dropbox.com/sh/51rjvgbom7dfnox/AAD5JXtXLPKpNzeSshfNlgbma?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 6. Функции в Python.''' | ||
+ | |||
+ | * Полная лекция по функциям ([https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb конспект], автор И.В.Щуров), [https://allatambov.github.io/icef/seminars/03-03-functions.ipynb ipynb-файл] с занятия. Lambda-функции ([https://nbviewer.jupyter.org/github/allatambov/PyDat-0919/blob/master/lectures-seminars/5-files/lambda-functions.ipynb конспект], [https://allatambov.github.io/icef/seminars/lambda-functions.ipynb файл]). | ||
+ | * Семинар 4: функции ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar04.ipynb задания], [https://allatambov.github.io/icef/seminars/icef-seminar04.ipynb icef-seminar04.ipynb]), решения (конспект, icef-seminar04-solutions.ipynb). | ||
+ | * Pythontutor: [https://pythontutor.ru/lessons/functions/ функции и рекурсия]. | ||
+ | |||
+ | === 10 марта [https://www.dropbox.com/sh/vy3hcd2jhl7ggew/AABmWz6rFJmkf8CZPujwj3rJa?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.''' | ||
+ | |||
+ | * Данные для работы: [https://allatambov.github.io/pydj/seminars/firtree.csv firtree.csv]. | ||
+ | * Работа с файлами ([конспект], [файл]). Массивы NumPy ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/arrays-pandas.ipynb конспект], [https://allatambov.github.io/icef/seminars/arrays-pandas.ipynb файл]). | ||
+ | * Работа с датафреймами pandas: часть 1 ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-01.ipynb конспект], [https://allatambov.github.io/icef/seminars/pandas-01.ipynb файл]), часть 2 ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-02.ipynb конспект], [https://allatambov.github.io/icef/seminars/pandas-02.ipynb файл]). | ||
+ | * Официальные тьюториалы NumPy ([https://docs.scipy.org/doc/numpy/user/quickstart.html ссылка]). Официальные тьюториалы Pandas ([https://pandas.pydata.org/pandas-docs/stable/getting_started/intro_tutorials/index.html ссылка]). | ||
+ | |||
+ | === 17 марта [https://www.dropbox.com/sh/kwotrr1vle04ulp/AABG4393h3uZK7LUnb4tB5Ica?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.''' | ||
+ | |||
+ | * Работа с датафреймами pandas: часть 3 ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-03.ipynb конспект], [https://allatambov.github.io/icef/seminars/pandas-03.ipynb файл]). | ||
+ | * Семинар 5: группировка и агрегирование ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar05.ipynb задания], [http://allatambov.github.io/icef/seminars/icef-seminar05.ipynb icef-seminar05.ipynb], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/icef/data-27257-2020-02-03.json json]), решения ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar05-solutions.ipynb конспект], [http://allatambov.github.io/icef/seminars/icef-seminar05-solutions.ipynb файл]). | ||
+ | * Дополнительно: более сложный пример с группировкой и агрегированием ([https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/pandas-part2.ipynb конспект], файл [https://raw.githubusercontent.com/allatambov/PyDat-0919/master/lectures-seminars/7-pandas/elect.csv elect.csv]). | ||
+ | |||
+ | === 24 марта [https://www.dropbox.com/sh/es5w3gwwy9kxern/AADP78BpqOZ-Fx-Wcd7AMp8qa?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 8. Визуализация и разведывательный анализ данных.''' | ||
+ | |||
+ | * Данные для работы: [https://allatambov.github.io/pydj/seminars/Chile.csv Chile.csv], [https://allatambov.github.io/rprog/data/wgi_fh.csv wgi_fh.csv]. | ||
+ | * Визуализация с библиотекой seaborn ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/seaborn-graphs.ipynb конспект], [http://allatambov.github.io/icef/seminars/seaborn-graphs.ipynb файл]). | ||
+ | * Семинар 6: графики и виджеты ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar06.ipynb задания], [http://allatambov.github.io/icef/seminars/icef-seminar06.ipynb icef-seminar06.ipynb]), решения ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar06-solutions.ipynb конспект], [http://allatambov.github.io/icef/seminars/icef-seminar06-solutions.ipynb файл]). | ||
+ | * Официальная [https://seaborn.pydata.org/ документация] библиотеки seaborn. | ||
+ | |||
+ | === 7 апреля [https://www.dropbox.com/sh/arkkoktalnt1svj/AACx0EnPRghyeWspRITtZ1FZa?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 9. Парсинг HTML-файлов и управление браузером с Selenium.''' | ||
+ | |||
+ | * Парсинг HTML с BeautifulSoup ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-html.ipynb icef-html.ipynb]). | ||
+ | * Ссылка для скачивания драйверов 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. [https://www.dropbox.com/s/xeu9f9jhksvucic/icef-part2-sm.mov?dl=0 Видео]. | ||
+ | * Работа с API mos.ru ([https://nbviewer.jupyter.org/github/allatambov/misc/blob/master/mos-API.ipynb mos-API.ipynb]), документация [https://apidata.mos.ru/ здесь]. [https://www.dropbox.com/s/b7qmgqmmtsy6ihc/icef27-04-1-sm.mov?dl=0 Видео]. | ||
+ | * Работа с 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 доступа], [https://www.dropbox.com/s/b7qmgqmmtsy6ihc/icef27-04-1-sm.mov?dl=0 видео]. | ||
==Дополнительные материалы== | ==Дополнительные материалы== | ||
Строка 70: | Строка 121: | ||
'''Статистика и анализ данных в Python''' | '''Статистика и анализ данных в Python''' | ||
− | [https://github.com/allatambov/CognTech/tree/master/statistics Материалы] по статистическим тестам и линейным регрессиям в Python | + | [https://github.com/allatambov/CognTech/tree/master/statistics Материалы] по статистическим тестам и линейным регрессиям в Python. |
==Домашние задания и online== | ==Домашние задания и online== | ||
Строка 84: | Строка 135: | ||
| Домашнее задание 1 || [https://github.com/allatambov/allatambov.github.io/blob/master/icef/hw/hw01.ipynb задание], [https://allatambov.github.io/icef/hw/hw01.ipynb hw01.ipynb], сдавать на [https://www.dropbox.com/request/Kui4y6IAGB0Z99wq6chs Dropbox] || 28 февраля 23:59 | | Домашнее задание 1 || [https://github.com/allatambov/allatambov.github.io/blob/master/icef/hw/hw01.ipynb задание], [https://allatambov.github.io/icef/hw/hw01.ipynb hw01.ipynb], сдавать на [https://www.dropbox.com/request/Kui4y6IAGB0Z99wq6chs Dropbox] || 28 февраля 23:59 | ||
|- | |- | ||
− | | Online 3 || DataCamp: глава [https://learn.datacamp.com/courses/data-types-for-data-science-in-python Dictionaries - the root of Python] || | + | | Online 3 || DataCamp: глава [https://learn.datacamp.com/courses/data-types-for-data-science-in-python Dictionaries - the root of Python] || 5 марта 23:59 |
|- | |- | ||
| Online 4 || DataCamp: глава [https://learn.datacamp.com/courses/python-data-science-toolbox-part-1 Default arguments, variable-length arguments and scope] || 10 марта 18:10 | | Online 4 || DataCamp: глава [https://learn.datacamp.com/courses/python-data-science-toolbox-part-1 Default arguments, variable-length arguments and scope] || 10 марта 18:10 | ||
|- | |- | ||
− | | Домашнее задание 2 || [https://github.com/allatambov/allatambov.github.io/blob/master/icef/hw/hw02.ipynb задание], [https://allatambov.github.io/icef/hw/hw02.ipynb hw02.ipynb], сдавать на [https://www.dropbox.com/request/l1PoIsT0SIcbdaGA311c Dropbox] || | + | | Домашнее задание 2 || [https://github.com/allatambov/allatambov.github.io/blob/master/icef/hw/hw02.ipynb задание], [https://allatambov.github.io/icef/hw/hw02.ipynb hw02.ipynb], сдавать на [https://www.dropbox.com/request/l1PoIsT0SIcbdaGA311c Dropbox] || 15 марта 23:59 |
+ | |- | ||
+ | | Online 5 || DataCamp: глава [https://learn.datacamp.com/courses/intro-to-python-for-data-science NumPy] || 18 марта 18:10 | ||
+ | |- | ||
+ | | Домашнее задание 3 || [https://github.com/allatambov/allatambov.github.io/blob/master/icef/hw/hw03.ipynb задание], [https://allatambov.github.io/icef/hw/hw03.ipynb hw03.ipynb], [https://allatambov.github.io/pydj/seminars/polit.csv polit.csv], сдавать на [https://www.dropbox.com/request/Gqy3UvdNYUYkXOTpxiNN Dropbox] || 30 апреля 23:59 | ||
+ | |- | ||
+ | | Online 6 || DataCamp: глава [https://learn.datacamp.com/courses/manipulating-dataframes-with-pandas Advanced indexing] || 7 мая 23:59 | ||
|- | |- | ||
+ | | Online 7 || DataCamp: глава [https://learn.datacamp.com/courses/manipulating-dataframes-with-pandas Rearranging and reshaping data] || 7 мая 23:59 | ||
|} | |} | ||
+ | |||
+ | == Проект == | ||
+ | |||
+ | ===Описание проекта=== | ||
+ | |||
+ | * [https://allatambov.github.io/icef/icef-project.pdf Описание] проекта и критерии оценивания. | ||
+ | * Проект необходимо загрузить на Dropbox до 28 мая 23:59 (4 курс и старше) и до 7 июня 23:59 (другие курсы) по [https://www.dropbox.com/request/4yZpNgn6eoxF0skjcFmY ссылке], дедлайн жёсткий. Файл с кодом, файл с документацией и вспомогательные файлы (при наличии) лучше загружать в виде zip-архива. | ||
+ | |||
+ | ===Полезные материалы=== | ||
+ | |||
+ | Исполняемые файлы: создание и запуск файла с расширением .py ([https://www.dropbox.com/s/f0aem22hz8k2f5n/py-files.mov?dl=0 видео]). | ||
+ | |||
+ | Дизайн и интерактив: | ||
+ | |||
+ | * [https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20Styling.html Оформление] виджетов Jupyter Notebook. | ||
+ | * [https://dash.plot.ly/ Документация] библиотеки dash для интерактивных дэшбордов. | ||
+ | * Обзор работы с dash ([https://www.dropbox.com/s/afp0mgi0ipoluwl/dash-1.mov?dl=0 видео]), файл [https://gist.github.com/allatambov/9057d18b80c7f0698bd73d02d3e32d09 dash1.py]. | ||
+ | * Редактирование шаблонного кода для виджета с графиками ([https://www.dropbox.com/s/a1sfz1hskvrvw3h/dash-2.mov?dl=0 видео]), обновлённый файл [https://gist.github.com/allatambov/b566977abfe3c20d227e6e531b04ca6d dash1.py]. | ||
+ | * Dashboard со своими данными ([https://www.dropbox.com/s/hvvchvfuyx86w8y/dash-3.mov?dl=0 видео]), файл [https://gist.github.com/allatambov/043ddefcc76566f4c739fa5c7b2502fc dash2.py]. | ||
+ | * Dashboard со своими данными и меню для пользователя ([https://www.dropbox.com/s/1141kkumncugj3y/dash-4.mov?dl=0 видео]), файл [https://gist.github.com/allatambov/cdecca50d511024ae10e685081303cea dash3.py]. | ||
+ | * Создание окон и кнопок с [https://likegeeks.com/python-gui-examples-tkinter-tutorial/ tkinter]. | ||
+ | |||
+ | Географические карты: | ||
+ | |||
+ | * [https://towardsdatascience.com/mapping-with-matplotlib-pandas-geopandas-and-basemap-in-python-d11b57ab5dac Раскраска] карт в Python, shp-файл можно скачать на [https://gadm.org/download_country_v3.html Global Administrative Areas], данные по России – на [http://gisgeo.org/data.html GISGeo]. | ||
+ | * [https://github.com/googlemaps/google-maps-services-python GoogleMaps] и Python, [https://medium.com/future-vision/google-maps-in-python-part-2-393f96196eaf тьюториал] по Google Maps. | ||
+ | * [https://pypi.org/project/yandex-maps/ Яндекс-карты] и Python. |
Версия 15:38, 28 мая 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
- Инструкция по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown (конспект, intro-jupyter.ipynb).
- Вычисления и переменные в Python (конспект, intro-variables.ipynb).
- Pythontutor: визуализатор кода, вычисления.
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
- LaTeX: ShareLaTeX для желающих, документация на английском, материалы других курсов по LaTeX.
Тема 2. Типы данных в Python. Ввод и вывод.
- Типы переменных, ввод и вывод в Python (конспект, intro-types.ipynb). Pythontutor: ввод и вывод.
- Форматирование строк (конспект, str-formatting.ipynb).
- Семинар 1: ввод-вывод и приведение типов (задания, icef-seminar01.ipynb, решения (конспект, icef-seminar01-solutions.ipynb).
17 февраля Видеозапись
Тема 3. Списки и цикл for. Методы на строках.
- Списки и цикл for: введение (конспект, lists-1.ipynb). Списки: методы на списках. (конспект, lists-2.ipynb). Pythontutor: списки, цикл for.
- Генераторы списков и enumerate() (конспект, more-lists.ipynb).
- Методы на строках (ссылка). Pythontutor: строки. Методы .split() и .join() (конспект, split-join.ipynb).
- Семинар 2: списки и строки (задания, icef-seminar02.ipynb), решения (конспект, icef-seminar02-solutions.ipynb).
24 февраля Видеозапись
Тема 4. Проверка условий и условные конструкции. Цикл while.
- Проверка условий (конспект, conditions.ipynb). Условные конструкции (конспект, if-else.ipynb). Pythontutor: условия.
- Цикл while (конспект, while.ipynb). Pythontutor: цикл while. Сравнение continue и pass (статья).
- Семинар 3: условные конструкции и цикл while (задания, icef-seminar03.ipynb), решения (конспект, icef-seminar03-solution.ipynb).
Тема 5*. Структуры данных в Python: кортежи, множества, словари.
- Тема изучается на DataCamp (задания online 2 и online 3).
- Вспомогательные лекции: кортежи (конспект, tuples.ipynb), словари (конспект, dicts.ipynb), множества (конспект).
- Примеры задач на словари с решениями (конспект, файл).
3 марта Видеозапись
Тема 6. Функции в Python.
- Полная лекция по функциям (конспект, автор И.В.Щуров), ipynb-файл с занятия. Lambda-функции (конспект, файл).
- Семинар 4: функции (задания, icef-seminar04.ipynb), решения (конспект, icef-seminar04-solutions.ipynb).
- Pythontutor: функции и рекурсия.
10 марта Видеозапись
Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.
- Данные для работы: firtree.csv.
- Работа с файлами ([конспект], [файл]). Массивы NumPy (конспект, файл).
- Работа с датафреймами pandas: часть 1 (конспект, файл), часть 2 (конспект, файл).
- Официальные тьюториалы NumPy (ссылка). Официальные тьюториалы Pandas (ссылка).
17 марта Видеозапись
Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.
- Работа с датафреймами pandas: часть 3 (конспект, файл).
- Семинар 5: группировка и агрегирование (задания, icef-seminar05.ipynb, json), решения (конспект, файл).
- Дополнительно: более сложный пример с группировкой и агрегированием (конспект, файл elect.csv).
24 марта Видеозапись
Тема 8. Визуализация и разведывательный анализ данных.
- Данные для работы: Chile.csv, wgi_fh.csv.
- Визуализация с библиотекой seaborn (конспект, файл).
- Семинар 6: графики и виджеты (задания, icef-seminar06.ipynb), решения (конспект, файл).
- Официальная документация библиотеки seaborn.
7 апреля Видеозапись
Тема 9. Парсинг HTML-файлов и управление браузером с Selenium.
- Парсинг HTML с BeautifulSoup (icef-html.ipynb).
- Ссылка для скачивания драйверов selenium для Chrome и Firefox, инструкция по решению проблем на Mac.
23 апреля [Консультация]
Тема 10. Управление браузером с Selenium. Работа с API.
- Управление браузером с Selenium (icef-selenium.ipynb), еще пример с Selenium. Видео.
- Работа с API mos.ru (mos-API.ipynb), документация здесь. Видео.
- Работа с API ВКонтакте (lect-vk-api.ipynb, vk-add.ipynb), получение доступа, видео.
Дополнительные материалы
Библиотека 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, polit.csv, сдавать на Dropbox | 30 апреля 23:59 |
Online 6 | DataCamp: глава Advanced indexing | 7 мая 23:59 |
Online 7 | DataCamp: глава Rearranging and reshaping data | 7 мая 23:59 |
Проект
Описание проекта
- Описание проекта и критерии оценивания.
- Проект необходимо загрузить на Dropbox до 28 мая 23:59 (4 курс и старше) и до 7 июня 23:59 (другие курсы) по ссылке, дедлайн жёсткий. Файл с кодом, файл с документацией и вспомогательные файлы (при наличии) лучше загружать в виде zip-архива.
Полезные материалы
Исполняемые файлы: создание и запуск файла с расширением .py (видео).
Дизайн и интерактив:
- Оформление виджетов Jupyter Notebook.
- Документация библиотеки dash для интерактивных дэшбордов.
- Обзор работы с dash (видео), файл dash1.py.
- Редактирование шаблонного кода для виджета с графиками (видео), обновлённый файл dash1.py.
- Dashboard со своими данными (видео), файл dash2.py.
- Dashboard со своими данными и меню для пользователя (видео), файл dash3.py.
- Создание окон и кнопок с tkinter.
Географические карты:
- Раскраска карт в Python, shp-файл можно скачать на Global Administrative Areas, данные по России – на GISGeo.
- GoogleMaps и Python, тьюториал по Google Maps.
- Яндекс-карты и Python.