Анализ данных на Python: различия между версиями
(не показано 56 промежуточных версий этого же участника) | |||
Строка 11: | Строка 11: | ||
Пояснения: | Пояснения: | ||
− | * '''Лабораторные работы:''' небольшие домашние задания, обязательные к выполнению к следующему занятию.<br>Могут включать задачи на закрепление пройденного материала или задачи, предполагающие самостоятельное<br>изучение небольших блоков по основам Python по предложенных материалам (конспекты или видео) | + | * '''Лабораторные работы:''' небольшие домашние задания, обязательные к выполнению к следующему занятию.<br>Могут включать задачи на закрепление пройденного материала или задачи, предполагающие самостоятельное<br>изучение небольших блоков по основам Python по предложенных материалам (конспекты или видео). |
* '''Домашние задания:''' объёмные домашние задания по итогу нескольких пройденных тем. Представляют собой<br> индивидуальные мини-проекты, в которых необходимо поработать с предложенными данными по инструкции <br>и проинтерпретировать предложенные результаты. | * '''Домашние задания:''' объёмные домашние задания по итогу нескольких пройденных тем. Представляют собой<br> индивидуальные мини-проекты, в которых необходимо поработать с предложенными данными по инструкции <br>и проинтерпретировать предложенные результаты. | ||
* Поздняя сдача лабораторных работ не предусмотрена. | * Поздняя сдача лабораторных работ не предусмотрена. | ||
Строка 24: | Строка 24: | ||
==Материалы курса== | ==Материалы курса== | ||
− | ===Неделя 0. | + | ===Неделя 0. Про Python и Jupyter Notebook=== |
Для подготовки к работе на курсе можно ознакомиться со следующими материалами [https://edu.hse.ru/course/view.php?id=133389 онлайн-курса]: | Для подготовки к работе на курсе можно ознакомиться со следующими материалами [https://edu.hse.ru/course/view.php?id=133389 онлайн-курса]: | ||
Строка 42: | Строка 42: | ||
* LaTeX: [https://www.overleaf.com/ Overleaf], [https://www.overleaf.com/learn документация], [https://github.com/allatambov/Latex материалы] других курсов по LaTeX. | * LaTeX: [https://www.overleaf.com/ Overleaf], [https://www.overleaf.com/learn документация], [https://github.com/allatambov/Latex материалы] других курсов по LaTeX. | ||
− | |||
===Неделя 1. Индексируемые структуры данных в Python=== | ===Неделя 1. Индексируемые структуры данных в Python=== | ||
− | * Обзор | + | * «Сырые» ipynb-файлы с занятий: [https://github.com/allatambov/PyPerm24/blob/main/class01-group01.ipynb группа 1], [https://github.com/allatambov/PyPerm24/blob/main/class01-group02.ipynb группа 2], [https://github.com/allatambov/PyPerm24/blob/main/class01-group03.ipynb группа 3], [https://github.com/allatambov/PyPerm24/blob/main/class01-group04.ipynb группа 4]. |
− | + | * Обзор индексируемых структур данных в Python: строки, кортежи, списки ([https://github.com/allatambov/PyPerm24/blob/main/01-types-structures.ipynb ipynb]). | |
− | * Цикл for и его аналоги: списковые включения и функция map(). | + | * Цикл for и его аналоги: списковые включения и функция map() ([https://github.com/allatambov/PyPerm24/blob/main/01-for-and-friends.ipynb ipynb]). |
− | ===Лабораторная работа 1. Методы на | + | Дополнительно: |
+ | |||
+ | * [https://pythontutor.com/visualize.html#mode=edit Визуализатор] кода от Pythontutor. | ||
+ | * Методы на списках ([https://github.com/allatambov/PyPerm23/blob/main/lists-methods.ipynb ipynb]), методы на строках ([https://github.com/allatambov/PyPerm23/blob/main/str-methods.ipynb ipynb]). | ||
+ | |||
+ | ===Лабораторная работа 1. Условные конструкции и индексируемые структуры === | ||
+ | |||
+ | Для выполнения лабораторной работы необходимо знать формулировку логических выражений <br> | ||
+ | и конструкцию if-elif-else в Python. Для этого (на выбор) можно: | ||
+ | |||
+ | * Прослушать материал [https://edu.hse.ru/course/view.php?id=133389§ion=2 темы 2] ''Условия и логические выражения'' онлайн-курса «Python как иностранный». | ||
+ | * Прочитать [https://nbviewer.org/github/allatambov/PyPolit2023/blob/main/testing-conditions.ipynb конспект] лекции ''Логические выражения и условные конструкции''. | ||
+ | * Изучить материалы онлайн-учебника [https://pythontutor.ru/lessons/ifelse/ Pythontutor]. | ||
+ | |||
+ | Также могут пригодиться дополнительные материалы по методам на списках из недели 1. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать | ||
+ | |- | ||
+ | | Лабораторная работа 1 || [https://github.com/allatambov/PyPerm24/blob/main/pyperm-lab01.ipynb ipynb] || 13 апреля 11:30 || [https://www.dropbox.com/request/NXT1AXihnTOYLm3Cx0EV ссылка] на Dropbox | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Неделя 2. Знакомство с массивами NumPy === | ||
+ | |||
+ | * «Сырые» ipynb-файлы с занятий: [https://github.com/allatambov/PyPerm24/blob/main/class02-slot01.ipynb пара 1], [https://github.com/allatambov/PyPerm24/blob/main/class02-slot02.ipynb пара 2]. | ||
+ | * Списки vs массивы ([https://github.com/allatambov/PyPerm24/blob/main/02-lists-arrays.ipynb ipynb]). | ||
+ | * Описание выборки, сохранённой в массив ([https://github.com/allatambov/PyPerm24/blob/main/02-descriptives.ipynb ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Официальная [https://numpy.org/doc/stable/ документация] NumPy. | ||
+ | |||
+ | ===Лабораторная работа 2. Работа с массивами, ввод и вывод === | ||
+ | |||
+ | Для выполнения лабораторной работы помимо материалов недели 2 необходимо понимать<br> | ||
+ | устройство ввода и вывода в Python и быть знакомыми с методами .split() и .join(). Для этого можно: | ||
+ | |||
+ | * Прочитать [https://github.com/allatambov/ICEF24/blob/main/02-input-output-format.ipynb конспект] лекции ''Ввод-вывод и форматирование строк''. | ||
+ | * Прочитать [https://github.com/allatambov/PyAll23/blob/main/06-split-join.ipynb конспект] лекции ''Методы .split() и .join()'' и [https://github.com/allatambov/PyPerm24/blob/main/input-output-fragments.ipynb разбор] задач по этой теме. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать | ||
+ | |- | ||
+ | | Лабораторная работа 2 || [https://github.com/allatambov/PyPerm24/blob/main/pyperm-lab02.ipynb ipynb] || 20 апреля 11:30 || [https://www.dropbox.com/request/VJTXjM1sQvWQDihEV6Ww ссылка] на Dropbox | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Неделя 3. Словари, массивы NumPy, датафреймы Pandas === | ||
+ | |||
+ | * Файл к занятию: [https://github.com/allatambov/PyPerm24/blob/main/class03.ipynb ipynb]. | ||
+ | * Словари и массивы, последовательности и датафреймы Pandas ([https://github.com/allatambov/PyPerm24/blob/main/03-dicts-pandas.ipynb ipynb]). | ||
+ | * Введение в датафреймы pandas: загрузка и описание данных ([https://github.com/allatambov/PyPerm24/blob/main/03-intro-pandas.ipynb ipynb]), файл [https://github.com/allatambov/PyPerm24/blob/main/Salaries.csv Salaries.csv]. | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Официальная [https://pandas.pydata.org/docs/ документация] pandas. | ||
+ | * PEP8: [https://peps.python.org/pep-0008/ стандарты] оформления кода. | ||
+ | |||
+ | ===Лабораторная работа 3. Функции и lambda-функции === | ||
+ | |||
+ | Для выполнения лабораторной работы помимо материалов недели 3 необходимо уметь писать<br> | ||
+ | пользовательские функции, lambda-функции и сочетать их с другими функциями Python. Для этого можно: | ||
+ | |||
+ | * Прослушать материал [https://edu.hse.ru/course/view.php?id=133389§ion=8 темы 8] ''Функции'' (достаточно первого раздела) онлайн-курса «Python как иностранный». | ||
+ | * Прочитать [https://github.com/allatambov/PyPerm23/blob/main/functions-short.ipynb конспект] лекции ''Функции'' (для желающих – более подробная [https://nbviewer.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb лекция] И.В.Щурова). | ||
+ | * Прочитать [https://github.com/allatambov/ICEF24/blob/main/lambda-functions.ipynb конспект] по lambda-функциям. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать | ||
+ | |- | ||
+ | | Лабораторная работа 3 || [https://github.com/allatambov/PyPerm24/blob/main/pyperm-lab03.ipynb ipynb] || 27 апреля 11:30 || [https://www.dropbox.com/request/lMj5sX1geWbkgwC5CPcQ ссылка] на Dropbox | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Неделя 4. Операции с датафреймами Pandas, введение в визуализацию === | ||
+ | |||
+ | * Файл к занятию ([https://github.com/allatambov/PyPerm24/blob/main/class04.ipynb ipynb]). | ||
+ | * Операции с датафреймами Pandas ([https://github.com/allatambov/PyPerm24/blob/main/04-pandas-main.ipynb ipynb]), файл [https://github.com/allatambov/PyPerm24/blob/main/Salaries.csv Salaries.csv]. | ||
+ | * Практикум по pandas ([https://github.com/allatambov/PyPerm24/blob/main/04-pandas-practice.ipynb ipynb]), решения ([https://github.com/allatambov/PyPerm24/blob/main/04-pandas-practice-solutions.ipynb ipynb]), файл [https://github.com/allatambov/PyPerm24/blob/main/final.xlsx final.xlsx]. | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Официальная [https://pandas.pydata.org/docs/user_guide/text.html документация] по обработке строк с модулем str в pandas. | ||
+ | * [https://matplotlib.org/stable/gallery/color/named_colors.html Цвета] в matplotlib, [https://g.co/kgs/qjDysM8 палитра] цветов от Google, [https://colorscheme.ru/color-names.html colorscheme.ru]. | ||
+ | |||
+ | ===Лабораторная работа 4. Методы на строках и работа с txt-файлами === | ||
+ | |||
+ | Для выполнения лабораторной работы необходимо самостоятельно познакомиться с обработкой txt-файлов.<br> | ||
+ | Для этого (на выбор) можно: | ||
+ | |||
+ | * Прослушать материал [https://edu.hse.ru/course/view.php?id=133389§ion=9 темы 9] ''Текстовые файлы и таблицы'' онлайн-курса «Python как иностранный». | ||
+ | * Прочитать [https://github.com/allatambov/PyPolit2023/blob/main/txt-files.ipynb конспект] лекции ''Чтение и запись txt-файлов'' (txt-файл [https://github.com/allatambov/PyPolit2023/blob/main/intro.txt здесь]). | ||
+ | |||
+ | Также могут пригодиться дополнительные материалы по методам на строках из недели 1. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать | ||
+ | |- | ||
+ | | Лабораторная работа 4 || [https://github.com/allatambov/PyPerm24/blob/main/pyperm-lab04.ipynb ipynb] || 4 мая 23:59 || [https://www.dropbox.com/request/AxhFQhobBh6ARlZ3HUpP ссылка] на Dropbox | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Неделя 4*. Обработка текстов и облака слов=== | ||
+ | |||
+ | ''Синхронного занятия нет, предлагается видеозапись и конспект.''<br> | ||
+ | ''Данная тема будет включена во вторую часть первого домашнего задания.'' | ||
+ | |||
+ | * Файлы для работы: [https://github.com/allatambov/PyPerm24/blob/main/stopwords-ru.txt stopwords-ru.txt], [https://github.com/allatambov/PyPerm24/blob/main/guitar.jpeg guitar.jpeg], [https://github.com/allatambov/PyPerm24/blob/main/texts-practice.ipynb text-practice.ipynb], сайт [https://ru.freepik.com/ Freepik] как источник изображений. | ||
+ | * Видеозаписи: предварительная обработка текста ([https://www.dropbox.com/scl/fi/sevxrxhnaf33wli0n61ro/01-text-normalize.mp4?rlkey=2h7xyfqru3pi1dm5t4ecrau5v&st=71gx4he3&dl=0 01]), облако слов ([https://www.dropbox.com/scl/fo/olrg31ssc30xcqq95g6t8/AJrL9dPCPqqnEDOFLC6BJqY?rlkey=lka8e27b5y4y4kfclmx1pdmif&st=ub7q031r&dl=0 02]), добавление маски ([https://www.dropbox.com/scl/fi/31a5k0cucrhq20dc520nq/03-mask.mp4?rlkey=h0o1ndzt8wi0hrj4q77bmcrtw&st=bu78c7wo&dl=0 03]). | ||
+ | * Подробный конспект с решениями ([https://github.com/allatambov/PyPerm24/blob/main/texts-practice-upd.ipynb ipynb]). | ||
+ | |||
+ | ===Неделя 5. Примеры работы с API === | ||
+ | |||
+ | * Файл к занятию ([https://github.com/allatambov/PyPerm24/blob/main/05-vk-practice.ipynb ipynb]). | ||
+ | * Выгрузка постов и комментариев из ВКонтакте ([https://github.com/allatambov/PyPerm24/blob/main/05-vk-practice-solutions.ipynb ipynb] с решениями). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * [https://dev.vk.com/ru/api/api-requests Документация] API ВКонтакте. | ||
+ | * [https://requests.readthedocs.io/en/latest/ Документация] модуля requests, [https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_HTTP статья] о состояниях HTTP. | ||
+ | * Дальнейшая работа с постами ВКонтакте – анализ тональности ([https://github.com/allatambov/WebScrape24/blob/main/psy_practice05_texts.ipynb ipynb], файл [https://github.com/allatambov/WebScrape24/blob/main/comments_as_rows.csv comments_as_rows.csv]) | ||
+ | * Небольшой практикум с примерами работы с API Википедии ([https://github.com/allatambov/WebScrape24/blob/main/ps%D1%83_practice04_solutions.ipynb ipynb]). | ||
+ | |||
+ | ===Лабораторная работа 5. Работа со словарями === | ||
+ | |||
+ | Для выполнения лабораторной работы необходимо вспомнить о словарях (неделя 3),<br> | ||
+ | при необходимости ознакомиться со следующими материалами: | ||
+ | |||
+ | * [https://github.com/allatambov/ICEF24/blob/main/dicts.ipynb Конспект] по словарям. | ||
+ | * Pythontutor: [https://pythontutor.ru/lessons/dicts/ словари], w3schools: [https://www.w3schools.com/python/python_dictionaries.asp dictionaries]. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать | ||
+ | |- | ||
+ | | Лабораторная работа 5 || [https://github.com/allatambov/PyPerm24/blob/main/pyperm-lab05.ipynb ipynb] || 18 мая 11:30 || [https://www.dropbox.com/request/mjNOgwMKVH7B2jT0hzVA ссылка] на Dropbox | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Неделя 6. Парсинг HTML с Beautiful Soup и Pandas === | ||
+ | |||
+ | * Введение в HTML ([https://github.com/allatambov/PyPerm24/blob/main/Intro_HTML.pdf слайды]). | ||
+ | * Практикум по парсингу HTML с BeautifulSoup: тэги и атрибуты ([https://github.com/allatambov/PyPerm24/blob/main/06-html-practice.ipynb ipynb]), решения ([https://github.com/allatambov/PyPerm24/blob/main/06-html-practice-solutions.ipynb ipynb]). | ||
+ | * Парсинг таблиц с Pandas ([https://github.com/allatambov/PyPerm24/blob/main/06-html-tables.ipynb ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * [https://beautiful-soup-4.readthedocs.io/en/latest/ Документация] библиотеки bs4 (Beautiful Soup). | ||
+ | * Ловля исключений и обработка ошибок: [https://docs.python.org/3/tutorial/errors.html документация] для try-except. | ||
+ | * Введение в управление браузером с Selenium. | ||
+ | |||
+ | ===Неделя 7. Иерархический кластерный анализ === | ||
+ | |||
+ | Файлы с данными: [https://raw.githubusercontent.com/allatambov/PyPerm24/main/Baltimore_data.csv Baltimore_data.csv], | ||
+ | [https://raw.githubusercontent.com/allatambov/PyPerm24/main/Percent_of_Area_Covered_by_Trees.geojson Percent_of_Area_Covered_by_Trees.geojson], | ||
+ | [https://raw.githubusercontent.com/allatambov/PyPerm24/main/coffee_and_code.csv coffee_and_code.csv]. | ||
+ | |||
+ | * Иерархический кластерный анализ: введение ([https://github.com/allatambov/PyPerm24/blob/main/07-cluster00.ipynb ipynb]). | ||
+ | * Практикум по иерархическому кластерному анализу, количественные данные ([https://github.com/allatambov/PyPerm24/blob/main/07-cluster01.ipynb ipynb]). | ||
+ | * Практикум по иерархическому кластерному анализу, качественные данные ([https://github.com/allatambov/PyPerm24/blob/main/07-cluster02.ipynb ipynb]). | ||
+ | |||
+ | ===Неделя 8. Визуализация данных с Matplotlib === | ||
+ | |||
+ | * Файл с данными: [https://www.dropbox.com/scl/fi/44safy9dssp4plr2wyv8k/Online-Retail.csv?rlkey=1vprvuksmc6gowschlxe10or2&st=2vt8hexv&dl=0 Online-Retail.csv] | ||
+ | * Практикум по визуализации ([https://github.com/allatambov/PyPerm24/blob/main/08-vis-practice.ipynb ipynb]), решения практикума ([https://github.com/allatambov/PyPerm24/blob/main/08-vis-practice-solutions.ipynb ipynb]). | ||
+ | * Официальная [https://matplotlib.org/stable/ документация] matplotlib. | ||
+ | |||
+ | ===Неделя 9. Доверительное оценивание и проверка гипотез === | ||
+ | |||
+ | Краткая теория для повторения: | ||
+ | |||
+ | * Доверительные интервалы: [https://github.com/allatambov/IntroProbStat2024/blob/main/add/conf-intervals.pdf. pdf], [https://rpsychologist.com/d3/ci/ визуализация]. | ||
+ | * Проверка гипотез: [https://github.com/allatambov/IntroProbStat2024/blob/main/add/hypo.pdf pdf]. | ||
+ | * Доверительные интервалы и проверка гипотез вместе: [https://github.com/allatambov/IntroProbStat2024/blob/main/add/ci-hypo-short.pdf pdf]. | ||
+ | |||
+ | Практика: | ||
+ | |||
+ | * Файл с данными: [https://github.com/allatambov/PyPerm24/blob/main/Cowles.csv Cowles.csv] | ||
+ | * Практикум: сырой файл к занятию ([https://github.com/allatambov/PyPerm24/blob/main/09-stats.ipynb ipynb]), полный файл с комментариями ([https://github.com/allatambov/PyPerm24/blob/main/09-stats-upd.ipynb ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Сводная информация по полезным тестам и функциям ([https://github.com/allatambov/PyPerm24/blob/main/09-info-tests.ipynb ipynb]). | ||
+ | |||
+ | ===Лабораторная работа 6. Проверка гипотез и визуализация с seaborn === | ||
+ | |||
+ | Для выполнения лабораторной работы потребуются материалы недели 9 <br> | ||
+ | (включая дополнительный файл со сводными материалами по статистическим тестам). | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать | ||
+ | |- | ||
+ | | Лабораторная работа 6 || [https://github.com/allatambov/PyPerm24/blob/main/pyperm-lab06.ipynb ipynb] || 17 июня 23:59 || [https://www.dropbox.com/request/USUCErpqhnuTZcLBVqHz ссылка] на Dropbox | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Неделя 10. Линейная регрессия с библиотекой statsmodels === | ||
+ | |||
+ | * Файл с данными: [https://github.com/allatambov/PyPerm24/blob/main/Salaries.csv Salaries.csv], «сырой» [https://github.com/allatambov/PyPerm24/blob/main/10-linreg-raw.ipynb ipynb-файл] с занятия. | ||
+ | * Парная и множественная линейная регрессия со statsmodels ([https://nbviewer.org/github/allatambov/PyDataAnalysis/blob/main/seminar04-OLS.ipynb ipynb]). | ||
+ | * Линейная регрессия с эффектами взаимодействия ([https://nbviewer.org/github/allatambov/PyDataAnalysis/blob/main/seminar05-OLS-interactions.ipynb ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Еще один практикум по моделям с эффектом взаимодействия + выгрузка выдачи в HTML или LaTeX ([https://github.com/allatambov/PyReg23/blob/main/reg-practice06.ipynb ipynb]). | ||
+ | == Домашние задания == | ||
− | --- | + | {| class="wikitable" |
+ | |- | ||
+ | ! Домашнее задание !! Дедлайн !! Куда загружать | ||
+ | |- | ||
+ | | [https://github.com/allatambov/PyPerm24/blob/main/hw01.ipynb Домашнее задание №1] || 20 мая 23:59 (по Перми)|| [https://www.dropbox.com/request/HlHlDJIqODEAgpl1ba1H ссылка] на Dropbox | ||
+ | |- | ||
+ | | [https://github.com/allatambov/PyPerm24/blob/main/hw02.ipynb Домашнее задание №2] || 10 июня 23:59 (по Перми)|| [https://www.dropbox.com/request/5olhTQGFBaDbMRF8PFUw ссылка] на Dropbox | ||
+ | |- | ||
+ | | [https://github.com/allatambov/PyPerm24/blob/main/hw03.ipynb Домашнее задание №3] || 22 июня 23:59 (по Перми)|| [https://www.dropbox.com/request/Gs40HuicsISUk8Rtl42T ссылка] на Dropbox | ||
+ | |- | ||
+ | |} |
Текущая версия на 02:35, 17 июня 2024
Дорогие студенты!
Это страница обязательного курса «Анализ данных на Python», читаемого на программе «Разработка информационных систем для бизнеса»
2 курса бакалавриата в 4 модуле 2023-2024 учебного года.
Занятия ведёт: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
- 2 Среда для работы
- 3 Материалы курса
- 3.1 Неделя 0. Про Python и Jupyter Notebook
- 3.2 Неделя 1. Индексируемые структуры данных в Python
- 3.3 Лабораторная работа 1. Условные конструкции и индексируемые структуры
- 3.4 Неделя 2. Знакомство с массивами NumPy
- 3.5 Лабораторная работа 2. Работа с массивами, ввод и вывод
- 3.6 Неделя 3. Словари, массивы NumPy, датафреймы Pandas
- 3.7 Лабораторная работа 3. Функции и lambda-функции
- 3.8 Неделя 4. Операции с датафреймами Pandas, введение в визуализацию
- 3.9 Лабораторная работа 4. Методы на строках и работа с txt-файлами
- 3.10 Неделя 4*. Обработка текстов и облака слов
- 3.11 Неделя 5. Примеры работы с API
- 3.12 Лабораторная работа 5. Работа со словарями
- 3.13 Неделя 6. Парсинг HTML с Beautiful Soup и Pandas
- 3.14 Неделя 7. Иерархический кластерный анализ
- 3.15 Неделя 8. Визуализация данных с Matplotlib
- 3.16 Неделя 9. Доверительное оценивание и проверка гипотез
- 3.17 Лабораторная работа 6. Проверка гипотез и визуализация с seaborn
- 3.18 Неделя 10. Линейная регрессия с библиотекой statsmodels
- 4 Домашние задания
Правила игры
Формула оценки: 0.4 × Лабораторные работы + 0.2 × ДЗ1 + 0.25 × ДЗ2 + 0.15 × ДЗ3.
Пояснения:
- Лабораторные работы: небольшие домашние задания, обязательные к выполнению к следующему занятию.
Могут включать задачи на закрепление пройденного материала или задачи, предполагающие самостоятельное
изучение небольших блоков по основам Python по предложенных материалам (конспекты или видео). - Домашние задания: объёмные домашние задания по итогу нескольких пройденных тем. Представляют собой
индивидуальные мини-проекты, в которых необходимо поработать с предложенными данными по инструкции
и проинтерпретировать предложенные результаты. - Поздняя сдача лабораторных работ не предусмотрена.
- Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов:
опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%.
Домашние задания, сданные позже, не принимаются и не оцениваются.
Среда для работы
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя
интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы
Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab
(для создания и редактирования файлов нужен аккаунт Gmail).
Подробности по установке и работе – см. ниже в неделе 0.
Материалы курса
Неделя 0. Про Python и Jupyter Notebook
Для подготовки к работе на курсе можно ознакомиться со следующими материалами онлайн-курса:
- Видео. Подготовка рабочего места, инструкция по открытию файлов в Jupyter Notebook.
- Видео. Первая программа, задачи для тренировки.
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
- Работа в Jupyter Notebook (видео), работа в Google Colab (видео).
Дополнительно:
- Набор текста в Jupyter (видео, ipynb).
- Markdown: больше про Markdown, знакомство с Jupyter Notebook и Markdown (читать, ipynb).
- LaTeX: Overleaf, документация, материалы других курсов по LaTeX.
Неделя 1. Индексируемые структуры данных в Python
- «Сырые» ipynb-файлы с занятий: группа 1, группа 2, группа 3, группа 4.
- Обзор индексируемых структур данных в Python: строки, кортежи, списки (ipynb).
- Цикл for и его аналоги: списковые включения и функция map() (ipynb).
Дополнительно:
- Визуализатор кода от Pythontutor.
- Методы на списках (ipynb), методы на строках (ipynb).
Лабораторная работа 1. Условные конструкции и индексируемые структуры
Для выполнения лабораторной работы необходимо знать формулировку логических выражений
и конструкцию if-elif-else в Python. Для этого (на выбор) можно:
- Прослушать материал темы 2 Условия и логические выражения онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Логические выражения и условные конструкции.
- Изучить материалы онлайн-учебника Pythontutor.
Также могут пригодиться дополнительные материалы по методам на списках из недели 1.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 1 | ipynb | 13 апреля 11:30 | ссылка на Dropbox |
Неделя 2. Знакомство с массивами NumPy
- «Сырые» ipynb-файлы с занятий: пара 1, пара 2.
- Списки vs массивы (ipynb).
- Описание выборки, сохранённой в массив (ipynb).
Дополнительно:
- Официальная документация NumPy.
Лабораторная работа 2. Работа с массивами, ввод и вывод
Для выполнения лабораторной работы помимо материалов недели 2 необходимо понимать
устройство ввода и вывода в Python и быть знакомыми с методами .split() и .join(). Для этого можно:
- Прочитать конспект лекции Ввод-вывод и форматирование строк.
- Прочитать конспект лекции Методы .split() и .join() и разбор задач по этой теме.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 2 | ipynb | 20 апреля 11:30 | ссылка на Dropbox |
Неделя 3. Словари, массивы NumPy, датафреймы Pandas
- Файл к занятию: ipynb.
- Словари и массивы, последовательности и датафреймы Pandas (ipynb).
- Введение в датафреймы pandas: загрузка и описание данных (ipynb), файл Salaries.csv.
Дополнительно:
- Официальная документация pandas.
- PEP8: стандарты оформления кода.
Лабораторная работа 3. Функции и lambda-функции
Для выполнения лабораторной работы помимо материалов недели 3 необходимо уметь писать
пользовательские функции, lambda-функции и сочетать их с другими функциями Python. Для этого можно:
- Прослушать материал темы 8 Функции (достаточно первого раздела) онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Функции (для желающих – более подробная лекция И.В.Щурова).
- Прочитать конспект по lambda-функциям.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 3 | ipynb | 27 апреля 11:30 | ссылка на Dropbox |
Неделя 4. Операции с датафреймами Pandas, введение в визуализацию
- Файл к занятию (ipynb).
- Операции с датафреймами Pandas (ipynb), файл Salaries.csv.
- Практикум по pandas (ipynb), решения (ipynb), файл final.xlsx.
Дополнительно:
- Официальная документация по обработке строк с модулем str в pandas.
- Цвета в matplotlib, палитра цветов от Google, colorscheme.ru.
Лабораторная работа 4. Методы на строках и работа с txt-файлами
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с обработкой txt-файлов.
Для этого (на выбор) можно:
- Прослушать материал темы 9 Текстовые файлы и таблицы онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Чтение и запись txt-файлов (txt-файл здесь).
Также могут пригодиться дополнительные материалы по методам на строках из недели 1.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 4 | ipynb | 4 мая 23:59 | ссылка на Dropbox |
Неделя 4*. Обработка текстов и облака слов
Синхронного занятия нет, предлагается видеозапись и конспект.
Данная тема будет включена во вторую часть первого домашнего задания.
- Файлы для работы: stopwords-ru.txt, guitar.jpeg, text-practice.ipynb, сайт Freepik как источник изображений.
- Видеозаписи: предварительная обработка текста (01), облако слов (02), добавление маски (03).
- Подробный конспект с решениями (ipynb).
Неделя 5. Примеры работы с API
Дополнительно:
- Документация API ВКонтакте.
- Документация модуля requests, статья о состояниях HTTP.
- Дальнейшая работа с постами ВКонтакте – анализ тональности (ipynb, файл comments_as_rows.csv)
- Небольшой практикум с примерами работы с API Википедии (ipynb).
Лабораторная работа 5. Работа со словарями
Для выполнения лабораторной работы необходимо вспомнить о словарях (неделя 3),
при необходимости ознакомиться со следующими материалами:
- Конспект по словарям.
- Pythontutor: словари, w3schools: dictionaries.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 5 | ipynb | 18 мая 11:30 | ссылка на Dropbox |
Неделя 6. Парсинг HTML с Beautiful Soup и Pandas
- Введение в HTML (слайды).
- Практикум по парсингу HTML с BeautifulSoup: тэги и атрибуты (ipynb), решения (ipynb).
- Парсинг таблиц с Pandas (ipynb).
Дополнительно:
- Документация библиотеки bs4 (Beautiful Soup).
- Ловля исключений и обработка ошибок: документация для try-except.
- Введение в управление браузером с Selenium.
Неделя 7. Иерархический кластерный анализ
Файлы с данными: Baltimore_data.csv, Percent_of_Area_Covered_by_Trees.geojson, coffee_and_code.csv.
- Иерархический кластерный анализ: введение (ipynb).
- Практикум по иерархическому кластерному анализу, количественные данные (ipynb).
- Практикум по иерархическому кластерному анализу, качественные данные (ipynb).
Неделя 8. Визуализация данных с Matplotlib
- Файл с данными: Online-Retail.csv
- Практикум по визуализации (ipynb), решения практикума (ipynb).
- Официальная документация matplotlib.
Неделя 9. Доверительное оценивание и проверка гипотез
Краткая теория для повторения:
- Доверительные интервалы: pdf, визуализация.
- Проверка гипотез: pdf.
- Доверительные интервалы и проверка гипотез вместе: pdf.
Практика:
- Файл с данными: Cowles.csv
- Практикум: сырой файл к занятию (ipynb), полный файл с комментариями (ipynb).
Дополнительно:
- Сводная информация по полезным тестам и функциям (ipynb).
Лабораторная работа 6. Проверка гипотез и визуализация с seaborn
Для выполнения лабораторной работы потребуются материалы недели 9
(включая дополнительный файл со сводными материалами по статистическим тестам).
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 6 | ipynb | 17 июня 23:59 | ссылка на Dropbox |
Неделя 10. Линейная регрессия с библиотекой statsmodels
- Файл с данными: Salaries.csv, «сырой» ipynb-файл с занятия.
- Парная и множественная линейная регрессия со statsmodels (ipynb).
- Линейная регрессия с эффектами взаимодействия (ipynb).
Дополнительно:
- Еще один практикум по моделям с эффектом взаимодействия + выгрузка выдачи в HTML или LaTeX (ipynb).
Домашние задания
Домашнее задание | Дедлайн | Куда загружать |
---|---|---|
Домашнее задание №1 | 20 мая 23:59 (по Перми) | ссылка на Dropbox |
Домашнее задание №2 | 10 июня 23:59 (по Перми) | ссылка на Dropbox |
Домашнее задание №3 | 22 июня 23:59 (по Перми) | ссылка на Dropbox |