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

Материал из MathINFO
Перейти к навигации Перейти к поиску
(не показано 19 промежуточных версий этого же участника)
Строка 1: Строка 1:
* Курс ведёт Илья щуров.
+
* Курс ведёт Илья Щуров.
  
 
== Материалы ==
 
== Материалы ==
Строка 11: Строка 11:
 
| [https://www.youtube.com/watch?v=5Y5tKPKhurA видео]
 
| [https://www.youtube.com/watch?v=5Y5tKPKhurA видео]
 
| {{PT}} [http://pythontutor.ru/lessons/int_and_float/ вычисления], [http://pythontutor.com визуализатор Python]
 
| {{PT}} [http://pythontutor.ru/lessons/int_and_float/ вычисления], [http://pythontutor.com визуализатор Python]
| [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps01/ps01.ipynb ДЗ№1]
+
|rowspan=2| [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps01/ps01.ipynb ДЗ№1]
 
|-
 
|-
 
| 14 января
 
| 14 января
 
| Списки
 
| Списки
 +
| [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb конспект с комментариями] (мы прошли до раздела «Присвоение и копирование списков», не включая его), [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb#Ввод-вывод-списков split и join], [https://gist.github.com/65ca76fd47c32f4f2520060149a97574 сырой ноутбук с занятия]
 +
| [https://www.youtube.com/watch?v=kBu3g-ITjY4 видео]
 +
| {{PT}} [http://pythontutor.ru/lessons/lists/ списки]
 +
|-
 +
| 21 января
 +
| Списки и цикл <code>for</code>
 +
| [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb конспект с комментариями] (начиная с раздела « Присвоение и копирование списков»), [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb#Нумерация-элементов-списка enumerate], [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb#Создание-словарей-и-функция-zip() zip] (часть про словари можно пропустить), [https://gist.github.com/9cbca8b16c7744dcd94113a52676f260 сырой ноутбук с занятия].
 +
| [https://youtu.be/kBu3g-ITjY4?t=2301 видео]
 +
| {{PT}} [http://pythontutor.ru/lessons/for_loop/ цикл for]
 +
| [https://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps02/ps02.ipynb ДЗ№2]
 +
|-
 +
| 24 января
 +
| Проверка условий. Цикл while.
 +
| [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb#Проверка-условий проверка условий], [https://gist.github.com/ischurov/8d6309c42b91b269dc2fa7de3bd0b558 сырой ноутбук с занятия]
 +
| [https://youtu.be/uzgaCV8KZA0?t=1353 проверка условий]
 +
| {{PT}}: [http://pythontutor.ru/lessons/ifelse/ проверка условий], [http://pythontutor.ru/lessons/while/ цикл while]
 +
|
 +
|-
 +
| 28 января
 +
| Функции. Словари
 +
| [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb функции], [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb#Словари словари], [https://gist.github.com/861c593afb172ac4926bec5f758d544c сырой ноутбук с занятия]
 +
| [https://www.youtube.com/watch?v=NYrYSFyCg4w функции], [https://www.youtube.com/watch?v=z8bu_b5BboI словари]
 +
| {{PT}}: [http://pythontutor.ru/lessons/functions/ функции], [http://pythontutor.ru/lessons/dicts/ словари]
 +
| [https://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps03/ps03.ipynb ДЗ№3]
 +
|-
 +
| 31 января
 +
| Ещё о словарях. Множества. Списковые включения (и не только). Сортировка
 +
| [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb#Словари словари и списковые включения], [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Множества множества], [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%206.ipynb#Сортировка сортировка], [https://nbviewer.jupyter.org/gist/ischurov/5ecb2b35d13edd2582fa5ad4bf056b46 сырой ноутбук с занятия]
 +
| [https://www.youtube.com/watch?v=z8bu_b5BboI словари], [https://www.youtube.com/watch?v=1w0NG-pfcsg&feature=youtu.be&t=9m17s сортировка]
 +
| [https://docs.python.org/3/howto/sorting.html Sorting howto] (англ.)
 +
|
 +
|-
 +
| 4 февраля
 +
| Ещё о сортировке. <code>kwargs</code>. <code>lambda</code>-функции. Чтение файлов
 +
| [http://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Файловый-ввод-вывод работа с файлами], [https://nbviewer.jupyter.org/gist/ischurov/1e332fcfd1c082ecf77497e1cbb8f0d0 сырой ноутбук с занятия]
 +
| [https://youtu.be/KaWGNPgUOHo?t=2816 файлы]
 +
|
 +
|
 +
|-
 +
| 7 февраля
 +
| Запись файлов. Объектно-ориентированное программирование
 +
| [http://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Файловый-ввод-вывод работа с файлами], [https://nbviewer.jupyter.org/gist/3095c3884df7129e014dd4134d26d121 сырой ноутбук с занятия]
 +
| [https://youtu.be/KaWGNPgUOHo?t=2816 файлы]
 +
| [https://docs.python.org/3/tutorial/classes.html классы в Python] (англ., официальная документация)
 +
| [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps04/ps04.ipynb ДЗ№4]
 +
|-
 +
| 11 февраля
 +
| Наследование. Итераторы и генераторы
 +
| [https://nbviewer.jupyter.org/gist/ischurov/8fe367fcfc38cd9d4fd4e546165fdeea сырой конспект]
 
|  
 
|  
 +
| [https://docs.python.org/3/tutorial/classes.html классы в Python] (англ., официальная документация), [https://twitter.com/ilyaschurov/status/945727980688625665 твиттер-тред про Python] (начало как раз про итераторы)
 
|
 
|
 +
|-
 +
| 14 февраля
 +
| Библиотека <code>numpy</code> и немножко <code>matplotlib</code>
 +
| [http://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%2011.ipynb конспект с комментариями про numpy], [https://nbviewer.jupyter.org/gist/ischurov/54aa0a96c12e3e39c2f930e1754e0c60 сырой ноутбук]
 +
| [http://www.youtube.com/watch?v=A84rlgoVnMY numpy]
 +
| [https://docs.scipy.org/doc/numpy-dev/user/quickstart.html numpy quickstart], [http://matplotlib.org/users/pyplot_tutorial.html pyplot tutorial], [http://matplotlib.org/gallery.html matplotlib gallery]
 +
| [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps05/ps05.ipynb ДЗ№5]
 +
|-
 +
| 18 февраля
 +
| Ещё о numpy и немножко <code>pandas</code>
 +
| [https://nbviewer.jupyter.org/gist/a442a51465d701f83307c8115749fb5d сырой ноутбук с занятия]
 +
|
 +
| [https://numpy.org/devdocs/user/theory.broadcasting.html numpy broadcasting rules] (англ.), [https://pandas.pydata.org/pandas-docs/stable/getting_started/dsintro.html pandas data structures] (мы обсуждали <code>pd.Series</code>)
 
|
 
|
 +
|-
 +
| 21 февраля
 +
| Библиотека <code>pandas</code>
 +
| pandas и датафреймы: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2012.ipynb конспект по базовым возможностям pandas], [https://nbviewer.jupyter.org/gist/8b20fce410ee65c49bf17994f20abc1c сырой ноутбук с занятия]
 +
| [http://www.youtube.com/watch?v=ENKfnIEXyKw pandas]
 +
| [http://pandas.pydata.org/pandas-docs/stable/10min.html 10-минутное введение (обзор возможностей)], [http://pandas.pydata.org/pandas-docs/stable/tutorials.html#pandas-cookbook pandas-cookbook], [http://pandas.pydata.org/pandas-docs/stable/indexing.html индексация и выбор данных (подробно)]
 +
| [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps06/ps06.ipynb ДЗ№6]
 +
|-
 +
| 28 февраля
 +
| Ещё о pandas (и немного о глобальном потеплении).
 +
| [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2013.ipynb конспект], [https://nbviewer.jupyter.org/gist/f6d046a76e972320469e9dcb677cfdb0 сырой ноутбук с занятия]
 +
| Официальная документация pandas: [https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html мультииндексы]
 +
|
 +
|rowspan=3| [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps07/ps07.ipynb ДЗ№7]
 +
|-
 +
| 3 марта
 +
| Введение в веб-скреппинг, библиотека <code>BeautifulSoup</code> (<code>bs4</code>)
 +
| [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%208.ipynb конспект],  [https://nbviewer.jupyter.org/gist/ischurov/fce1f34ba0b189f9f7a0b8743900f161 сырой ноутбук с занятия]
 +
| [http://www.youtube.com/watch?v=3nPksaHTMGI видео]
 +
| Оригинальная документация (англ.): [http://docs.python-requests.org/en/latest/ requests] [http://www.crummy.com/software/BeautifulSoup/bs4/doc/ BeautifulSoup].
 +
|-
 +
| 6 марта
 +
| Больше веб-скреппинга
 +
| [https://nbviewer.jupyter.org/gist/ischurov/89f86ed01822ea9504ad234688218601 сырой ноутбук с занятия]
 +
|
 +
|
 +
|-
 +
| 10 марта
 +
| Ещё больше веб-скреппинга: RoboBrowser. Исключение (exceptions)
 +
| [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb#Эмуляция-действий-с-браузером Конспект по RoboBrowser], [https://nbviewer.jupyter.org/gist/ischurov/adde97c4a1bfe7d3a565d03b5ddf8fa9 сырой ноутбук с занятия]
 +
| [https://youtu.be/tC618tbA5Yk?t=674 видео]
 +
| [http://robobrowser.readthedocs.org/en/latest/ RoboBrowser]
 +
|
 +
|-
 +
| 13 марта
 +
| И снова веб-скреппинг: Selenium.
 +
| [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb#Selenium Конспект по Selenium], [https://nbviewer.jupyter.org/gist/ischurov/4f8e063e880b93f5f7f49a601ab2da28 сырой ноутбук с занятия]
 +
| [https://youtu.be/tC618tbA5Yk?t=1631 видео]
 +
| [http://selenium-python.readthedocs.org/ неофициальная документация] по Python-Selenium (её проще читать, чем официальную).
 +
|
 +
|-
 +
| 20 марта
 +
| Работа с REST API: XML и JSON
 +
| [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%209.ipynb Конспект про XML], [[http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb Конспект про JSON] (на занятии рассматривались другие примеры API, но логика такая же), [https://gist.github.com/a4aabce87d70ff5e3de1b646d0791a37 сырой ноутбук с занятия]
 +
| [http://www.youtube.com/watch?v=5aelkl2HAow видео про XML], [http://www.youtube.com/watch?v=tC618tbA5Yk видео про JSON]
 +
|  Документация по API MediaWiki (движка Википедии): [https://www.mediawiki.org/wiki/API:Main_page основная на английском], [https://www.mediawiki.org/wiki/API:Main_page/ru на русском], [https://en.wikipedia.org/w/api.php автогенерированная на английском], [https://ru.wikipedia.org/w/api.php на русском], [https://nominatim.org/release-docs/latest/api/Overview/ документация по nominatim] (геокодинг), [https://github.com/clearspending/clearspending-examples/wiki clearspending] (данные о госзакупках)
 +
| [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-datascience2020/ps08/ps08.ipynb ДЗ№8]
 +
|-
 +
| 24 марта
 +
| Библиотека <code>sympy</code> (символьная математика в Python), рисование картинок с помощью plotly
 +
| [https://nbviewer.jupyter.org/gist/ischurov/2bcdd8887bd8e773093fe4fccd82b254 сырой ноутбук про sympy], [https://nbviewer.jupyter.org/gist/ischurov/9861bd65ea10ff08f4b1574516a752e4 сырой ноутбук про plotly]
 +
|
 +
| [https://docs.sympy.org/latest/index.html документация sympy], [https://plotly.com/python/ документация plotly], [https://nbviewer.jupyter.org/github/ischurov/odebook/blob/master/mathandpython.ipynb Кратчайшее введение в математику в Python]
 
|
 
|
 
|}
 
|}
 +
 +
== Программное обеспечение ==
 +
* [https://www.anaconda.com/distribution/ Anaconda] — вам нужна версия с Python 3.7.
 +
* Чтобы открыть ipynb-файл в Jupyter Notebook, проще всего его загрузить в рабочий каталог с помощью функции ''upload'' самого Jupyter Notebook. Аналогично, чтобы вытащить файл из Jupyter Notebook, можно использовать функцию ''Download → ipynb''.

Версия 23:38, 25 марта 2020

  • Курс ведёт Илья Щуров.

Материалы

дата тема конспекты видео дополнительные материалы ДЗ
10 января Первое знакомство. Python как калькулятор конспект с комментариями, сырой ноутбук с занятия (без комментариев) видео PT вычисления, визуализатор Python ДЗ№1
14 января Списки конспект с комментариями (мы прошли до раздела «Присвоение и копирование списков», не включая его), split и join, сырой ноутбук с занятия видео PT списки
21 января Списки и цикл for конспект с комментариями (начиная с раздела « Присвоение и копирование списков»), enumerate, zip (часть про словари можно пропустить), сырой ноутбук с занятия. видео PT цикл for ДЗ№2
24 января Проверка условий. Цикл while. проверка условий, сырой ноутбук с занятия проверка условий PT: проверка условий, цикл while
28 января Функции. Словари функции, словари, сырой ноутбук с занятия функции, словари PT: функции, словари ДЗ№3
31 января Ещё о словарях. Множества. Списковые включения (и не только). Сортировка словари и списковые включения, множества, сортировка, сырой ноутбук с занятия словари, сортировка Sorting howto (англ.)
4 февраля Ещё о сортировке. kwargs. lambda-функции. Чтение файлов работа с файлами, сырой ноутбук с занятия файлы
7 февраля Запись файлов. Объектно-ориентированное программирование работа с файлами, сырой ноутбук с занятия файлы классы в Python (англ., официальная документация) ДЗ№4
11 февраля Наследование. Итераторы и генераторы сырой конспект классы в Python (англ., официальная документация), твиттер-тред про Python (начало как раз про итераторы)
14 февраля Библиотека numpy и немножко matplotlib конспект с комментариями про numpy, сырой ноутбук numpy numpy quickstart, pyplot tutorial, matplotlib gallery ДЗ№5
18 февраля Ещё о numpy и немножко pandas сырой ноутбук с занятия numpy broadcasting rules (англ.), pandas data structures (мы обсуждали pd.Series)
21 февраля Библиотека pandas pandas и датафреймы: конспект по базовым возможностям pandas, сырой ноутбук с занятия pandas 10-минутное введение (обзор возможностей), pandas-cookbook, индексация и выбор данных (подробно) ДЗ№6
28 февраля Ещё о pandas (и немного о глобальном потеплении). конспект, сырой ноутбук с занятия Официальная документация pandas: мультииндексы ДЗ№7
3 марта Введение в веб-скреппинг, библиотека BeautifulSoup (bs4) конспект, сырой ноутбук с занятия видео Оригинальная документация (англ.): requests BeautifulSoup.
6 марта Больше веб-скреппинга сырой ноутбук с занятия
10 марта Ещё больше веб-скреппинга: RoboBrowser. Исключение (exceptions) Конспект по RoboBrowser, сырой ноутбук с занятия видео RoboBrowser
13 марта И снова веб-скреппинг: Selenium. Конспект по Selenium, сырой ноутбук с занятия видео неофициальная документация по Python-Selenium (её проще читать, чем официальную).
20 марта Работа с REST API: XML и JSON Конспект про XML, [Конспект про JSON (на занятии рассматривались другие примеры API, но логика такая же), сырой ноутбук с занятия видео про XML, видео про JSON Документация по API MediaWiki (движка Википедии): основная на английском, на русском, автогенерированная на английском, на русском, документация по nominatim (геокодинг), clearspending (данные о госзакупках) ДЗ№8
24 марта Библиотека sympy (символьная математика в Python), рисование картинок с помощью plotly сырой ноутбук про sympy, сырой ноутбук про plotly документация sympy, документация plotly, Кратчайшее введение в математику в Python

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

  • Anaconda — вам нужна версия с Python 3.7.
  • Чтобы открыть ipynb-файл в Jupyter Notebook, проще всего его загрузить в рабочий каталог с помощью функции upload самого Jupyter Notebook. Аналогично, чтобы вытащить файл из Jupyter Notebook, можно использовать функцию Download → ipynb.