Программирование для всех (основы работы с Python): различия между версиями
(не показано 26 промежуточных версий этого же участника) | |||
Строка 33: | Строка 33: | ||
* Markdown и Jupyter: [https://www.ibm.com/support/knowledgecenter/SSQNUZ_current/com.ibm.icpdata.doc/dsx/markd-jupyter.html больше] про Markdown, интерактивные [https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Basics.html виджеты] в Jupyter. | * Markdown и Jupyter: [https://www.ibm.com/support/knowledgecenter/SSQNUZ_current/com.ibm.icpdata.doc/dsx/markd-jupyter.html больше] про Markdown, интерактивные [https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Basics.html виджеты] в Jupyter. | ||
* LaTeX: [https://ru.sharelatex.com/ ShareLaTeX] для желающих, [https://www.overleaf.com/learn документация] на английском, [https://github.com/allatambov/Latex материалы] других курсов по LaTeX. | * LaTeX: [https://ru.sharelatex.com/ ShareLaTeX] для желающих, [https://www.overleaf.com/learn документация] на английском, [https://github.com/allatambov/Latex материалы] других курсов по LaTeX. | ||
+ | |||
+ | === 16 сентября [https://www.dropbox.com/sh/ythwvhwj93t6lkc/AABGLcvvwUxRlncjCu0j7dRqa?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 2. Типы данных в Python. Ввод и вывод.''' | ||
+ | |||
+ | * Типы переменных, ввод и вывод в Python ([https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/input-output.ipynb конспект], [https://www.dropbox.com/s/ldckrtt3xun8684/input-output.ipynb?dl=0 input-output.ipynb]). Pythontutor: [https://pythontutor.ru/lessons/inout_and_arithmetic_operations/ ввод и вывод]. | ||
+ | * Форматирование строк ([https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/1-introduction/str-formating.ipynb конспект], [https://www.dropbox.com/s/ubeg3ep1nuqqjmz/str-formating.ipynb?dl=0 str-formatting.ipynb]). | ||
+ | * Практические задания: [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems-02.ipynb задания], [https://www.dropbox.com/s/7pdggwxgn5mi1qx/problems-02.ipynb?dl=0 problems-02.ipynb], [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems-02-solutions.ipynb решения], [https://www.dropbox.com/s/ywe26y2dzhym3cq/problems-02-solutions.ipynb?dl=0 problems-02-solutions.ipynb]. | ||
+ | |||
+ | '''Тема 3. Списки и цикл for. Методы на строках.''' | ||
+ | |||
+ | Основное: | ||
+ | |||
+ | * Частично изучается на DataCamp (глава Python Lists, глава Functions and Packages). | ||
+ | * Списки и цикл for: введение ([https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/lists-for.ipynb конспект], [https://www.dropbox.com/s/lco881xpds8l5wc/lists-for.ipynb?dl=0 lists-for.ipynb]). Pythontutor: [https://pythontutor.ru/lessons/lists/ списки], [https://pythontutor.ru/lessons/for_loop/ цикл for]. | ||
+ | * Методы .split() и .join(): [https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/split-join.ipynb конспект], [https://www.dropbox.com/s/gmn2mlqqillhg5k/split-join.ipynb?dl=0 split-join.ipynb]. | ||
+ | * Практические задания: [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/problems03.ipynb задания], [https://www.dropbox.com/s/ymgi4au2avocoqb/problems-03.ipynb?dl=0 problems03.ipynb], [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems-03-solutions.ipynb решения], [https://www.dropbox.com/s/tph0gwv7drg2fgz/problems-03-solutions.ipynb?dl=0 problems-03-solutions.ipynb]. | ||
+ | |||
+ | Дополнительное: | ||
+ | |||
+ | * Списки: методы на списках. ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/lists-2.ipynb конспект], [https://allatambov.github.io/icef/seminars/lists-2.ipynb lists-2.ipynb]). | ||
+ | * Генераторы списков и enumerate() ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/more-lists.ipynb конспект], [https://allatambov.github.io/icef/seminars/more-lists.ipynb more-lists.ipynb]). | ||
+ | |||
+ | === 23 сентября [https://www.dropbox.com/sh/f1mxu5yh796q2wm/AAB-ZwZsy1SUSSgmNmsUqB9Ha?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 4. Проверка условий и условные конструкции. Цикл while.''' | ||
+ | |||
+ | Основное: | ||
+ | |||
+ | * Проверка условий ([https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/conditions.ipynb конспект], [https://www.dropbox.com/s/ra61c5ljj04w2uh/conditions.ipynb?dl=0 conditions.ipynb]). Условные конструкции и цикл while ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/if-else-while.ipynb конспект], [https://www.dropbox.com/s/xk9rjgjsxx4aoct/if-else-while.ipynb?dl=0 if-else-while.ipynb]). | ||
+ | * Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия]. Pythontutor: цикл [https://pythontutor.ru/lessons/while/ while]. | ||
+ | * Практические задания: [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/problems04.ipynb задания], [https://www.dropbox.com/s/6i2311qhbxrgkp2/problems04.ipynb?dl=0 problems04.ipynb], [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems04-solutions.ipynb решения], [https://www.dropbox.com/s/hnilqfbknvi9ej7/problems04-solutions.ipynb?dl=0 problems04-solutions.ipynb] | ||
+ | |||
+ | Дополнительное: | ||
+ | |||
+ | Сравнение continue и pass ([https://www.geeksforgeeks.org/difference-between-continue-and-pass-statements-in-python/ статья]). | ||
+ | |||
+ | '''Тема 5*. Структуры данных в Python: кортежи, множества, словари.''' | ||
+ | |||
+ | * Тема изучается на DataCamp (глава Dictionaries - the root of Python). | ||
+ | * Вспомогательные лекции: кортежи ([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 файл]). | ||
+ | |||
+ | === 30 сентября [https://www.dropbox.com/sh/drxyk8f27xy2h8r/AAD3USABXA3W2OnDuIrTYZD6a?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 6. Функции в Python.''' | ||
+ | |||
+ | Основное: | ||
+ | |||
+ | * Тема изучается на DataCamp (глава Writing your own functions, глава Default arguments, variable-length arguments and scope). | ||
+ | * Вспомогательная лекция: [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb functions]. Pythontutor: [https://pythontutor.ru/lessons/functions/ функции]. | ||
+ | * Практические задания: [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems05.ipynb задания], [https://www.dropbox.com/s/yhbgbb17q3n1mg0/problems05.ipynb?dl=0 problems05.ipynb], [https://github.com/allatambov/PyAll2021/blob/main/problems05-solutions.ipynb решения], [https://www.dropbox.com/s/cl4iz1yd9aqfn6u/problems05-solutions.ipynb?dl=0 problems05-solutions.ipynb] | ||
+ | |||
+ | Дополнительное: | ||
+ | |||
+ | * Lambda-функции: [https://nbviewer.jupyter.org/github/allatambov/PyDat-0919/blob/master/lectures-seminars/5-files/lambda-functions.ipynb конспект]. | ||
+ | |||
+ | '''Тема 7. Массивы NumPy.''' | ||
+ | |||
+ | * Массивы NumPy: [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/numpy-01.ipynb конспект], [https://www.dropbox.com/s/8iw7na03szq2rog/numpy-01.ipynb?dl=0 numpy-01.ipynb] | ||
+ | * Файл [https://allatambov.github.io/pydj/seminars/firtree.csv firtree.csv], [https://raw.githubusercontent.com/allatambov/PyDat-0919/master/lectures-seminars/7-pandas/elect.csv elect.csv]. | ||
+ | |||
+ | === 7 октября [https://www.dropbox.com/sh/9w2hbnt5rzn5xup/AABfiuRNHSQbIo5PEK9uOHUka?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 8. Датафреймы Pandas.''' | ||
+ | |||
+ | Основное: | ||
+ | |||
+ | * Файлы для работы: [https://allatambov.github.io/pydj/seminars/firtree.csv firtree.csv], [https://raw.githubusercontent.com/allatambov/PyDat-0919/master/lectures-seminars/7-pandas/elect.csv elect.csv]. | ||
+ | * Датафреймы Pandas: работа со строками и столбцами таблицы ([https://nbviewer.org/github/allatambov/PyAll20/blob/master/pandas-part01.ipynb конспект], [https://www.dropbox.com/s/3biebws9mu9igtw/pandas-part01.ipynb?dl=0 pandas-part01.ipynb]). | ||
+ | * Датафреймы Pandas: группировка и агрегирование ([https://nbviewer.org/github/allatambov/PyAll20/blob/master/pandas-part02.ipynb конспект], [https://www.dropbox.com/s/06964ffrndk3k9k/pandas-part02.ipynb?dl=0 pandas-part02.ipynb]). | ||
+ | |||
+ | Дополнительное: | ||
+ | |||
+ | * [https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html Тьюториалы] по pandas. | ||
+ | * [https://matplotlib.org/stable/ Галерея] matplotlib. | ||
+ | |||
+ | === 14 октября [https://www.dropbox.com/sh/1xo10453ojrhncm/AADKR19U9mnmM15JsJo-nYGIa?dl=0 Видеозапись] === | ||
+ | |||
+ | '''Тема 9. Парсинг HTML файлов с BeautifulSoup.''' | ||
+ | |||
+ | Основное: | ||
+ | |||
+ | * Парсинг HTML файлов с BeautifulSoup: [https://github.com/allatambov/PyAll20/blob/master/web-scrape.ipynb конспект], [https://www.dropbox.com/s/102bcq6c2w3a3nl/web-scrape.ipynb?dl=0 web-scrape.ipynb]. | ||
+ | * Тьюториалы по HTML: [https://www.w3schools.com/ w3schools.com] | ||
+ | |||
+ | Дополнительное: | ||
+ | |||
+ | * [https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Документация] BeautifulSoup. | ||
+ | * Базовые примеры [https://python-scripts.com/beautifulsoup-html-parsing парсинга] с BeautifulSoup. | ||
== Домашние задания == | == Домашние задания == | ||
Строка 42: | Строка 132: | ||
| Домашнее задание 1: глава Python Lists|| 16.09 14:40 || – || [https://learn.datacamp.com/courses/intro-to-python-for-data-science DataCamp] || DataCamp | | Домашнее задание 1: глава Python Lists|| 16.09 14:40 || – || [https://learn.datacamp.com/courses/intro-to-python-for-data-science DataCamp] || DataCamp | ||
|- | |- | ||
− | | [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/hw/homework01.ipynb Домашнее задание 2] || | + | | [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/hw/homework01.ipynb Домашнее задание 2] || 23.09 23:59 || [https://www.dropbox.com/s/igvbyn0029kp8c7/homework01.ipynb?dl=0 ipynb] || [https://www.dropbox.com/request/2vU4GWy8HJAk1t9mOIfP Dropbox] || обычное |
− | + | |- | |
+ | | Домашнее задание 3: глава Functions and Packages || 23.09 14:40 || – || [https://learn.datacamp.com/courses/intro-to-python-for-data-science DataCamp] || DataCamp | ||
+ | |- | ||
+ | | Домашнее задание 4: глава Writing your own functions || 30.09 14:40 || – || [https://learn.datacamp.com/courses/python-data-science-toolbox-part-1 DataCamp] || DataCamp | ||
+ | |- | ||
+ | | Домашнее задание 5: глава Dictionaries – the root of Python || 30.09 14:40 || – || [https://learn.datacamp.com/courses/data-types-for-data-science-in-python DataCamp] || DataCamp | ||
+ | |- | ||
+ | | Домашнее задание 6: глава Default arguments, variable-length arguments and scope || 07.10 14:40 || – || [https://learn.datacamp.com/courses/python-data-science-toolbox-part-1 DataCamp] || DataCamp | ||
+ | |- | ||
+ | | [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/homework06.ipynb Домашнее задание 7] || 07.10 23:59 || [https://www.dropbox.com/s/ssgupbvllbo4gjh/homework06.ipynb?dl=0 ipynb] || [https://www.dropbox.com/request/C8lgQ0PF53djzS2wNSVb Dropbox] || обычное | ||
+ | |- | ||
+ | | [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/homework08.ipynb Домашнее задание 8] || 14.10 23:59 || [https://www.dropbox.com/s/f4sey304p7keu2t/homework08.ipynb?dl=0 ipynb] || [https://www.dropbox.com/request/cIRNUbrhMB3RfsLEbZCl Dropbox] || обычное | ||
+ | |- | ||
+ | | Домашнее задание 9: глава Aggregating DataFrames || 20.10 23:59 || – || [https://learn.datacamp.com/courses/data-manipulation-with-pandas DataCamp] || DataCamp | ||
|- | |- | ||
+ | | Домашнее задание 10: глава Slicing and Indexing DataFrames || 20.10 23:59|| – || [https://learn.datacamp.com/courses/data-manipulation-with-pandas DataCamp] || DataCamp | ||
|} | |} | ||
+ | |||
+ | == Дополнительные материалы == | ||
+ | |||
+ | '''Визуализация''' | ||
+ | |||
+ | * Основы matplotlib с pandas на DataCamp: [https://learn.datacamp.com/courses/introduction-to-data-science-in-python курс] | ||
+ | * Matplotlib: [https://www.datacamp.com/community/tutorials/matplotlib-tutorial-python тьюториал] от DataCamp | ||
+ | * Визуализация с seaborn: [https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/seaborn-graphs.ipynb конспект], файл [https://allatambov.github.io/pydj/seminars/Chile.csv Chile.csv] | ||
+ | |||
+ | '''Статистика''' | ||
+ | |||
+ | * Проверка статистических гипотез: [https://nbviewer.jupyter.org/github/allatambov/CognTech/blob/master/statistics/practice_python/1-scipy-stats.ipynb конспект] | ||
+ | * Доверительные интервалы: [https://nbviewer.jupyter.org/github/allatambov/CognTech/blob/master/statistics/practice_python/2-conf-intervals.ipynb конспект] | ||
+ | * Генерация выборок и их правдоподобие: [https://nbviewer.jupyter.org/github/allatambov/CognTech/blob/master/statistics/practice_python/3-samples.ipynb конспект] | ||
+ | * Визуализация и выявление связей в данных: [https://github.com/allatambov/allatambov.github.io/blob/master/pydj/seminars/py-associations.ipynb конспект] | ||
+ | * Оценка связи между переменными, измеренными в разных шкалах: [https://nbviewer.jupyter.org/github/allatambov/CognTech/blob/master/statistics/practice_python/4-associations.ipynb конспект] | ||
+ | * Парная регрессия и проверка гипотез о коэффициентах регрессии: [https://nbviewer.jupyter.org/github/allatambov/CognTech/blob/master/statistics/practice_python/regression-1.ipynb конспект] | ||
+ | * Множественная регрессия и проверка качества модели: [https://nbviewer.jupyter.org/github/allatambov/CognTech/blob/master/statistics/practice_python/regression-2.ipynb конспект] | ||
+ | * Линейная регрессия с качественными предикторами, дамми-переменные, эффекты взаимодействия: [https://nbviewer.jupyter.org/github/allatambov/CognTech/blob/master/statistics/practice_python/regression-3.ipynb конспект] | ||
+ | |||
+ | '''Веб-скрейпинг''' | ||
+ | |||
+ | * Управление браузером с Selenium: [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/lect-selenium-1.ipynb selenium-1], [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/lect-selenium-2.ipynb selenium-2], [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/selenium-books.ipynb books] | ||
+ | * Работа с API ВКонтакте: [https://allatambov.github.io/pypolit/vk-auth.pdf инструкция] по получению доступа, [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/lect-vk-api.ipynb vk-api], [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/vk-add.ipynb vk-add] | ||
+ | * Работа с API mos.ru: [https://nbviewer.jupyter.org/github/allatambov/misc/blob/master/mos-API.ipynb конспект] | ||
+ | |||
+ | '''Дизайн и интерактив''' | ||
+ | |||
+ | * Создание и запуск файла с расширением .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://www.w3schools.com/ Тьюториалы] по веб-дизайну от w3schools | ||
+ | * [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] | ||
+ | |||
+ | '''Классы''' | ||
+ | |||
+ | Объекты и классы в Python: [https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/classes.ipynb конспект] |
Текущая версия на 15:08, 21 октября 2021
Дорогие студенты!
Это страница адаптационного курса «Программирование для всех (основы работы с Python)», читаемого на программе «Прикладная политология» 1 курса магистратуры в 1 модуле 2021-2022 учебного года.
Лекции и семинары ведёт: Тамбовцева Алла Андреевна
Содержание
Правила игры
- Курс реализуется в формате blended, онлайн часть обеспечивается главами курсов на платформе DataCamp.
- Формула оценки: Итог = 0.3 * Домашние задания + 0.3 * Онлайн-курс + 0.4 * Экзамен.
- При сдаче домашнего задания позже указанного срока предусмотрены штрафы: опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%, в пределах недели – штраф 70%.
- Ссылка на программу курса.
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.
Материалы
9 сентября Видеозапись
Тема 1. Введение в Python и Jupyter Notebook
Основное:
- Инструкция по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown (конспект, intro-jupyter.ipynb).
- Вычисления и переменные в Python (конспект, intro-variables.ipynb).
- Pythontutor: визуализатор кода, вычисления.
- Практические задания: задания, problems-01.ipynb, решения, problems-01-solutions.ipynb.
Дополнительное:
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
- LaTeX: ShareLaTeX для желающих, документация на английском, материалы других курсов по LaTeX.
16 сентября Видеозапись
Тема 2. Типы данных в Python. Ввод и вывод.
- Типы переменных, ввод и вывод в Python (конспект, input-output.ipynb). Pythontutor: ввод и вывод.
- Форматирование строк (конспект, str-formatting.ipynb).
- Практические задания: задания, problems-02.ipynb, решения, problems-02-solutions.ipynb.
Тема 3. Списки и цикл for. Методы на строках.
Основное:
- Частично изучается на DataCamp (глава Python Lists, глава Functions and Packages).
- Списки и цикл for: введение (конспект, lists-for.ipynb). Pythontutor: списки, цикл for.
- Методы .split() и .join(): конспект, split-join.ipynb.
- Практические задания: задания, problems03.ipynb, решения, problems-03-solutions.ipynb.
Дополнительное:
- Списки: методы на списках. (конспект, lists-2.ipynb).
- Генераторы списков и enumerate() (конспект, more-lists.ipynb).
23 сентября Видеозапись
Тема 4. Проверка условий и условные конструкции. Цикл while.
Основное:
- Проверка условий (конспект, conditions.ipynb). Условные конструкции и цикл while (конспект, if-else-while.ipynb).
- Pythontutor: условия. Pythontutor: цикл while.
- Практические задания: задания, problems04.ipynb, решения, problems04-solutions.ipynb
Дополнительное:
Сравнение continue и pass (статья).
Тема 5*. Структуры данных в Python: кортежи, множества, словари.
- Тема изучается на DataCamp (глава Dictionaries - the root of Python).
- Вспомогательные лекции: кортежи (конспект, tuples.ipynb), словари (конспект, dicts.ipynb), множества (конспект).
- Примеры задач на словари с решениями (конспект, файл).
30 сентября Видеозапись
Тема 6. Функции в Python.
Основное:
- Тема изучается на DataCamp (глава Writing your own functions, глава Default arguments, variable-length arguments and scope).
- Вспомогательная лекция: functions. Pythontutor: функции.
- Практические задания: задания, problems05.ipynb, решения, problems05-solutions.ipynb
Дополнительное:
- Lambda-функции: конспект.
Тема 7. Массивы NumPy.
- Массивы NumPy: конспект, numpy-01.ipynb
- Файл firtree.csv, elect.csv.
7 октября Видеозапись
Тема 8. Датафреймы Pandas.
Основное:
- Файлы для работы: firtree.csv, elect.csv.
- Датафреймы Pandas: работа со строками и столбцами таблицы (конспект, pandas-part01.ipynb).
- Датафреймы Pandas: группировка и агрегирование (конспект, pandas-part02.ipynb).
Дополнительное:
- Тьюториалы по pandas.
- Галерея matplotlib.
14 октября Видеозапись
Тема 9. Парсинг HTML файлов с BeautifulSoup.
Основное:
- Парсинг HTML файлов с BeautifulSoup: конспект, web-scrape.ipynb.
- Тьюториалы по HTML: w3schools.com
Дополнительное:
- Документация BeautifulSoup.
- Базовые примеры парсинга с BeautifulSoup.
Домашние задания
Задание | Дедлайн | Файл | Ссылка для сдачи | Тип |
---|---|---|---|---|
Домашнее задание 1: глава Python Lists | 16.09 14:40 | – | DataCamp | DataCamp |
Домашнее задание 2 | 23.09 23:59 | ipynb | Dropbox | обычное |
Домашнее задание 3: глава Functions and Packages | 23.09 14:40 | – | DataCamp | DataCamp |
Домашнее задание 4: глава Writing your own functions | 30.09 14:40 | – | DataCamp | DataCamp |
Домашнее задание 5: глава Dictionaries – the root of Python | 30.09 14:40 | – | DataCamp | DataCamp |
Домашнее задание 6: глава Default arguments, variable-length arguments and scope | 07.10 14:40 | – | DataCamp | DataCamp |
Домашнее задание 7 | 07.10 23:59 | ipynb | Dropbox | обычное |
Домашнее задание 8 | 14.10 23:59 | ipynb | Dropbox | обычное |
Домашнее задание 9: глава Aggregating DataFrames | 20.10 23:59 | – | DataCamp | DataCamp |
Домашнее задание 10: глава Slicing and Indexing DataFrames | 20.10 23:59 | – | DataCamp | DataCamp |
Дополнительные материалы
Визуализация
- Основы matplotlib с pandas на DataCamp: курс
- Matplotlib: тьюториал от DataCamp
- Визуализация с seaborn: конспект, файл Chile.csv
Статистика
- Проверка статистических гипотез: конспект
- Доверительные интервалы: конспект
- Генерация выборок и их правдоподобие: конспект
- Визуализация и выявление связей в данных: конспект
- Оценка связи между переменными, измеренными в разных шкалах: конспект
- Парная регрессия и проверка гипотез о коэффициентах регрессии: конспект
- Множественная регрессия и проверка качества модели: конспект
- Линейная регрессия с качественными предикторами, дамми-переменные, эффекты взаимодействия: конспект
Веб-скрейпинг
- Управление браузером с Selenium: selenium-1, selenium-2, books
- Работа с API ВКонтакте: инструкция по получению доступа, vk-api, vk-add
- Работа с API mos.ru: конспект
Дизайн и интерактив
- Создание и запуск файла с расширением .py: видео
- Оформление виджетов Jupyter Notebook
- Тьюториалы по веб-дизайну от w3schools
- Документация библиотеки dash для интерактивных дэшбордов
- Обзор работы с dash (видео), файл dash1.py
- Редактирование шаблонного кода для виджета с графиками (видео), обновленный файл dash1.py
- Dashboard со своими данными (видео), файл dash2.py
- Dashboard со своими данными и меню для пользователя (видео), файл dash3.py
Классы
Объекты и классы в Python: конспект