Статистика и открытые данные: различия между версиями
(Новая страница: «Курс ведёт Илья Щуров. == Инструменты == === Python === Мы используем Python версии 3 и оболочку Jupyter...») |
|||
Строка 1: | Строка 1: | ||
Курс ведёт Илья Щуров. | Курс ведёт Илья Щуров. | ||
− | == Инструменты == | + | ==Инструменты== |
− | === Python === | + | ===Python=== |
Мы используем Python версии 3 и оболочку Jupyter (ранее известную как IPython Notebook). Чтобы их установить, проще всего скачать пакет [http://continuum.io/downloads Anaconda]. Обратите внимание: вам нужна версия с Python 3.x. | Мы используем Python версии 3 и оболочку Jupyter (ранее известную как IPython Notebook). Чтобы их установить, проще всего скачать пакет [http://continuum.io/downloads Anaconda]. Обратите внимание: вам нужна версия с Python 3.x. | ||
Строка 8: | Строка 8: | ||
* Под Windows: в меню «Пуск» пункт «Anaconda», в нём подпункт «IPython Notebook». | * Под Windows: в меню «Пуск» пункт «Anaconda», в нём подпункт «IPython Notebook». | ||
+ | |||
* Под Mac OS X: приложение Anaconda Launcher, в нём пункт ipython-notebook. | * Под Mac OS X: приложение Anaconda Launcher, в нём пункт ipython-notebook. | ||
− | После запуска IPython Notebook у вас откроется окно браузера (и лучше пусть это будет не Internet Explorer, под ним IPython Notebook работает с некоторым скриптом, а иногда не работает) со списком файлов. В нём надо выбрать | + | После запуска IPython Notebook у вас откроется окно браузера (и лучше пусть это будет не Internet Explorer, под ним IPython Notebook работает с некоторым скриптом, а иногда не работает) со списком файлов. В нём надо выбрать New → Python 3. Откроется новая вкладка браузера, в ней будет запущен пустой notebook, состоящий из отдельных ячеек (cells). В ячейку с кодом можно вписать код и нажать Shift+Enter — он выполнится и вам покажут тут же результат. |
Для установки дополнительных пакетов вам необходимо открыть консоль (это может быть Anaconda Prompt под Windows или стандартный «Терминал» под Mac OS или Linux) и набрать команду <code>conda install <название пакета></code> или <code>pip install <название пакета></code> (например, <code>conda install seaborn</code>). | Для установки дополнительных пакетов вам необходимо открыть консоль (это может быть Anaconda Prompt под Windows или стандартный «Терминал» под Mac OS или Linux) и набрать команду <code>conda install <название пакета></code> или <code>pip install <название пакета></code> (например, <code>conda install seaborn</code>). | ||
Строка 16: | Строка 17: | ||
Вы можете также запустить Jupyter онлайн [http://try.jupyter.org здесь], но данные там не сохранятся и возможности будут ограничены. | Вы можете также запустить Jupyter онлайн [http://try.jupyter.org здесь], но данные там не сохранятся и возможности будут ограничены. | ||
− | + | ===Работа с ipynb-файлами=== | |
− | + | Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке <code>Serving notebooks from local directory: /home/user/IPython</code>, появляющейся в чёрненьком окошке при запуске Jupyter; здесь <code>/home/user/IPython</code> — искомый путь. | |
− | Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой | + | |
+ | ==Материалы== | ||
+ | ===Занятие 1: Первое знакомство=== | ||
+ | * Первое знакомство: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%201.ipynb конспект], [http://www.youtube.com/watch?v=5Y5tKPKhurA видео]. | ||
+ | ** | ||
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/inout_and_arithmetic_operations/ арифметические операции], [http://pythontutor.ru/lessons/int_and_float/ целые и вещественные числа]. | ||
− | [ | + | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps01/ps01.ipynb ДЗ№1] |
− | + | ===Занятие 2: Списки и цикл <code>for</code>=== | |
− | |||
− | |||
− | |||
− | === Занятие 2: Списки и цикл <code>for</code> === | ||
* Списки: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb конспект], [https://www.youtube.com/watch?v=kBu3g-ITjY4 видео]. | * Списки: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb конспект], [https://www.youtube.com/watch?v=kBu3g-ITjY4 видео]. | ||
− | ** Дополнение: | + | ** |
− | === Занятие 3: Ввод-вывод списков, проверка условий, цикл <code>while</code> === | + | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/ списки]. |
+ | |||
+ | ===Занятие 3: Ввод-вывод списков, проверка условий, цикл <code>while</code>=== | ||
* Ввод-вывод списков, проверка условий, цикл <code>while</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb конспект], [http://www.youtube.com/watch?v=uzgaCV8KZA0 видео] | * Ввод-вывод списков, проверка условий, цикл <code>while</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb конспект], [http://www.youtube.com/watch?v=uzgaCV8KZA0 видео] | ||
− | ** Дополнение: | + | ** |
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/#section_2 split и join], [http://pythontutor.ru/lessons/ifelse/ if], [http://pythontutor.ru/lessons/while/ while] | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps02/ps02.ipynb ДЗ№2] | ||
− | === Занятие 4: Функции === | + | ===Занятие 4: Функции=== |
* Функции: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb конспект] [https://www.youtube.com/watch?v=NYrYSFyCg4w видео]. | * Функции: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb конспект] [https://www.youtube.com/watch?v=NYrYSFyCg4w видео]. | ||
− | ** Дополнение: | + | ** |
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/functions/ функции]. | ||
− | === Занятие 5: Списковые включения, <code>zip</code> и двумерные массивы === | + | ===Занятие 5: Списковые включения, <code>zip</code> и двумерные массивы=== |
* Списковые включения (list comprehensions): [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb#Списковые-включения-(list-comprehensions) конспект] [https://www.youtube.com/watch?v=z8bu_b5BboI&feature=youtu.be&t=24m59s видео] | * Списковые включения (list comprehensions): [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb#Списковые-включения-(list-comprehensions) конспект] [https://www.youtube.com/watch?v=z8bu_b5BboI&feature=youtu.be&t=24m59s видео] | ||
− | ** Дополнение: | + | ** |
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/#section_3 списковые включения][1]], [http://pythontutor.ru/lessons/2d_arrays/ двумерные массивы] | ||
− | === Занятие 6: Словари и всякая всячина === | + | ===Занятие 6: Словари и всякая всячина=== |
* Словари: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb конспект], [http://www.youtube.com/watch?v=z8bu_b5BboI видео] | * Словари: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb конспект], [http://www.youtube.com/watch?v=z8bu_b5BboI видео] | ||
− | ** Дополнение: | + | ** |
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/dicts/ словари] | ||
+ | |||
* Множества: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Множества конспект] | * Множества: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Множества конспект] | ||
− | === Занятие 7: Сортировка и работа с файлами === | + | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps03/ps03.ipynb ДЗ№3] |
+ | |||
+ | ===Занятие 7: Сортировка и работа с файлами=== | ||
* Сортировка: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%206.ipynb#Сортировка конспект], [https://www.youtube.com/watch?v=1w0NG-pfcsg&feature=youtu.be&t=9m17s видео] | * Сортировка: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%206.ipynb#Сортировка конспект], [https://www.youtube.com/watch?v=1w0NG-pfcsg&feature=youtu.be&t=9m17s видео] | ||
− | ** Дополнение: [https://docs.python.org/3/howto/sorting.html Sorting howto] (англ.) | + | ** |
+ | ** Дополнение: [https://docs.python.org/3/howto/sorting.html Sorting howto] (англ.) | ||
+ | |||
* Файлы: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Файловый-ввод-вывод конспект] | * Файлы: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Файловый-ввод-вывод конспект] | ||
− | ** Дополнение: [https://docs.python.org/3/tutorial/inputoutput.html официальная документация] (англ.) | + | ** |
+ | ** Дополнение: [https://docs.python.org/3/tutorial/inputoutput.html официальная документация] (англ.) | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps04/ps04.ipynb ДЗ№4] | ||
− | === Занятие 8: numpy и картинки === | + | ===Занятие 8: numpy и картинки=== |
* [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2011.ipynb конспект], [http://www.youtube.com/watch?v=A84rlgoVnMY видео] | * [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2011.ipynb конспект], [http://www.youtube.com/watch?v=A84rlgoVnMY видео] | ||
+ | |||
* [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] | * [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] | ||
− | === Занятие 9-10: pandas === | + | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps05/ps05.ipynb ДЗ№5] |
+ | |||
+ | ===Занятие 9-10: pandas=== | ||
* pandas и датафреймы: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2012.ipynb конспект по базовым возможностям pandas], [http://www.youtube.com/watch?v=ENKfnIEXyKw видео] | * pandas и датафреймы: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2012.ipynb конспект по базовым возможностям pandas], [http://www.youtube.com/watch?v=ENKfnIEXyKw видео] | ||
+ | |||
* [http://math-info.hse.ru/a/2014-15/nes-stat/lectures/lecture14.html О регрессиях и символьной математике] | * [http://math-info.hse.ru/a/2014-15/nes-stat/lectures/lecture14.html О регрессиях и символьной математике] | ||
+ | |||
* Дополнительные материалы: | * Дополнительные материалы: | ||
− | ** Официальная документация <code>pandas</code>: [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://seaborn.pydata.org seaborn]. | + | ** |
− | ** [http://nbviewer.jupyter.org/github/ischurov/odebook/blob/master/mathandpython.ipynb О математике в Python]: обзор возможностей и примеры. | + | ** Официальная документация <code>pandas</code>: [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://seaborn.pydata.org seaborn]. |
+ | ** | ||
+ | ** [http://nbviewer.jupyter.org/github/ischurov/odebook/blob/master/mathandpython.ipynb О математике в Python]: обзор возможностей и примеры. | ||
+ | |||
* Для установки пакета <code>seaborn</code> нужно в командной строке (<code>cmd.exe</code> под Windows, <code>Terminal</code> под Mac OS) набрать <code>pip install seaborn</code>, либо исползовать функцию установки пакетов в Anaconda Navigator. | * Для установки пакета <code>seaborn</code> нужно в командной строке (<code>cmd.exe</code> под Windows, <code>Terminal</code> под Mac OS) набрать <code>pip install seaborn</code>, либо исползовать функцию установки пакетов в Anaconda Navigator. | ||
− | === Занятие 11: ещё о pandas: мультииндексы === | + | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps06/ps06.ipynb ДЗ№6] |
+ | |||
+ | ===Занятие 11: ещё о pandas: мультииндексы=== | ||
* [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2013.ipynb конспект] | * [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2013.ipynb конспект] | ||
+ | |||
* Официальная документация <code>pandas</code>: [http://pandas.pydata.org/pandas-docs/stable/advanced.html Мультииндексы] | * Официальная документация <code>pandas</code>: [http://pandas.pydata.org/pandas-docs/stable/advanced.html Мультииндексы] | ||
− | === Занятие 12: извлечение данных из веб-страниц === | + | ===Занятие 12: извлечение данных из веб-страниц=== |
* Извлечение данных из веб-страниц с помощью BeautifulSoup и requests: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%208.ipynb конспект], [http://www.youtube.com/watch?v=3nPksaHTMGI видео] | * Извлечение данных из веб-страниц с помощью BeautifulSoup и requests: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%208.ipynb конспект], [http://www.youtube.com/watch?v=3nPksaHTMGI видео] | ||
− | ** Оригинальная документация (англ.): [http://docs.python-requests.org/en/latest/ requests] [http://www.crummy.com/software/BeautifulSoup/bs4/doc/ BeautifulSoup]. | + | ** |
+ | ** Оригинальная документация (англ.): [http://docs.python-requests.org/en/latest/ requests] [http://www.crummy.com/software/BeautifulSoup/bs4/doc/ BeautifulSoup]. | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps07/ps07.ipynb ДЗ№7] | ||
− | === Занятие 13: извлечение данных из веб-страниц, заполнение форм === | + | ===Занятие 13: извлечение данных из веб-страниц, заполнение форм=== |
* Извлечение данных с помощью RoboBrowser: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb#Эмуляция-действий-с-браузером конспект], [https://www.youtube.com/watch?v=tC618tbA5Yk&feature=youtu.be&t=11m10s видео] | * Извлечение данных с помощью RoboBrowser: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb#Эмуляция-действий-с-браузером конспект], [https://www.youtube.com/watch?v=tC618tbA5Yk&feature=youtu.be&t=11m10s видео] | ||
− | ** Оригинальная документация (англ.): [http://robobrowser.readthedocs.org/en/latest/ RoboBrowser] | + | ** |
− | + | ** Оригинальная документация (англ.): [http://robobrowser.readthedocs.org/en/latest/ RoboBrowser] | |
− | === Занятие 14: XML и JSON API === | + | |
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps07/ps07.ipynb ДЗ№7] | ||
+ | |||
+ | ===Занятие 14: XML и JSON API=== | ||
* Работа с открытыми API с помощью XML: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%209.ipynb конспект], [http://www.youtube.com/watch?v=5aelkl2HAow видео]. | * Работа с открытыми API с помощью XML: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%209.ipynb конспект], [http://www.youtube.com/watch?v=5aelkl2HAow видео]. | ||
+ | |||
* JSON и API: [http://nbviewer.math-hse.info/github/ischurov/nesopendata2017/blob/master/API-JSON.ipynb конспекты] [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb ещё один пример]. | * JSON и API: [http://nbviewer.math-hse.info/github/ischurov/nesopendata2017/blob/master/API-JSON.ipynb конспекты] [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb ещё один пример]. | ||
− | === Занятие 15: продвинутый веб-скреппинг с помощью Selenium === | + | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/nes-od2018/ps08/ps08.ipynb ДЗ№8] |
+ | |||
+ | ===Занятие 15: продвинутый веб-скреппинг с помощью Selenium=== | ||
* [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb#Selenium конспект] | * [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb#Selenium конспект] | ||
− | ** [http://selenium-python.readthedocs.org/ неофициальная документация] по Python-Selenium (её проще читать, чем официальную). | + | ** |
+ | ** [http://selenium-python.readthedocs.org/ неофициальная документация] по Python-Selenium (её проще читать, чем официальную). | ||
− | === Занятие 16: pandas_datareader и немного математики === | + | ===Занятие 16: pandas_datareader и немного математики=== |
* [http://math-info.hse.ru/a/2014-15/nes-stat/lectures/lecture14.html#Немного-о-работе-с-временными-рядами подробный конспект похожего занятия] (нужно заменить <code>pandas.io</code> на <code>pandas_datareader</code>, предварительно установив пакет <code>pandas_datareader</code>, и вместо <code>get_data_yahoo</code> использовать <code>get_data_google</code>). | * [http://math-info.hse.ru/a/2014-15/nes-stat/lectures/lecture14.html#Немного-о-работе-с-временными-рядами подробный конспект похожего занятия] (нужно заменить <code>pandas.io</code> на <code>pandas_datareader</code>, предварительно установив пакет <code>pandas_datareader</code>, и вместо <code>get_data_yahoo</code> использовать <code>get_data_google</code>). | ||
+ | |||
* [http://nbviewer.jupyter.org/github/ischurov/odebook/blob/master/mathandpython.ipynb математические возможности Python] | * [http://nbviewer.jupyter.org/github/ischurov/odebook/blob/master/mathandpython.ipynb математические возможности Python] | ||
− | |||
− | |||
− | === Примечания === | + | ==Задания== |
− | + | * [http://math-info.hse.ru/2017-18/%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0_%D0%B8_%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5/%D0%98%D1%82%D0%BE%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82 Итоговый проект] | |
+ | |||
+ | ===Примечания=== | ||
+ | * ↑ PT использует термин «генераторы списков» вместо «списковые включения» |
Текущая версия на 14:15, 8 февраля 2020
Курс ведёт Илья Щуров.
Содержание
- 1 Инструменты
- 2 Материалы
- 2.1 Занятие 1: Первое знакомство
- 2.2 Занятие 2: Списки и цикл for
- 2.3 Занятие 3: Ввод-вывод списков, проверка условий, цикл while
- 2.4 Занятие 4: Функции
- 2.5 Занятие 5: Списковые включения, zip и двумерные массивы
- 2.6 Занятие 6: Словари и всякая всячина
- 2.7 Занятие 7: Сортировка и работа с файлами
- 2.8 Занятие 8: numpy и картинки
- 2.9 Занятие 9-10: pandas
- 2.10 Занятие 11: ещё о pandas: мультииндексы
- 2.11 Занятие 12: извлечение данных из веб-страниц
- 2.12 Занятие 13: извлечение данных из веб-страниц, заполнение форм
- 2.13 Занятие 14: XML и JSON API
- 2.14 Занятие 15: продвинутый веб-скреппинг с помощью Selenium
- 2.15 Занятие 16: pandas_datareader и немного математики
- 3 Задания
Инструменты
Python
Мы используем Python версии 3 и оболочку Jupyter (ранее известную как IPython Notebook). Чтобы их установить, проще всего скачать пакет Anaconda. Обратите внимание: вам нужна версия с Python 3.x.
После установки Anaconda у вас появится:
- Под Windows: в меню «Пуск» пункт «Anaconda», в нём подпункт «IPython Notebook».
- Под Mac OS X: приложение Anaconda Launcher, в нём пункт ipython-notebook.
После запуска IPython Notebook у вас откроется окно браузера (и лучше пусть это будет не Internet Explorer, под ним IPython Notebook работает с некоторым скриптом, а иногда не работает) со списком файлов. В нём надо выбрать New → Python 3. Откроется новая вкладка браузера, в ней будет запущен пустой notebook, состоящий из отдельных ячеек (cells). В ячейку с кодом можно вписать код и нажать Shift+Enter — он выполнится и вам покажут тут же результат.
Для установки дополнительных пакетов вам необходимо открыть консоль (это может быть Anaconda Prompt под Windows или стандартный «Терминал» под Mac OS или Linux) и набрать команду conda install <название пакета>
или pip install <название пакета>
(например, conda install seaborn
).
Вы можете также запустить Jupyter онлайн здесь, но данные там не сохранятся и возможности будут ограничены.
Работа с ipynb-файлами
Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке Serving notebooks from local directory: /home/user/IPython
, появляющейся в чёрненьком окошке при запуске Jupyter; здесь /home/user/IPython
— искомый путь.
Материалы
Занятие 1: Первое знакомство
- Первое знакомство: конспект, видео.
- Дополнение: PT арифметические операции, целые и вещественные числа.
Занятие 2: Списки и цикл for
Занятие 3: Ввод-вывод списков, проверка условий, цикл while
- Ввод-вывод списков, проверка условий, цикл
while
: конспект, видео- Дополнение: PT split и join, if, while
Занятие 4: Функции
Занятие 5: Списковые включения, zip
и двумерные массивы
- Списковые включения (list comprehensions): конспект видео
- Дополнение: PT списковые включения[1]], двумерные массивы
Занятие 6: Словари и всякая всячина
- Множества: конспект
Занятие 7: Сортировка и работа с файлами
- Сортировка: конспект, видео
- Дополнение: Sorting howto (англ.)
- Файлы: конспект
- Дополнение: официальная документация (англ.)
Занятие 8: numpy и картинки
Занятие 9-10: pandas
- pandas и датафреймы: конспект по базовым возможностям pandas, видео
- Дополнительные материалы:
- Официальная документация
pandas
: 10-минутное введение (обзор возможностей), pandas cookbook, индексация и выбор данных (подробно), seaborn. - О математике в Python: обзор возможностей и примеры.
- Официальная документация
- Для установки пакета
seaborn
нужно в командной строке (cmd.exe
под Windows,Terminal
под Mac OS) набратьpip install seaborn
, либо исползовать функцию установки пакетов в Anaconda Navigator.
Занятие 11: ещё о pandas: мультииндексы
- Официальная документация
pandas
: Мультииндексы
Занятие 12: извлечение данных из веб-страниц
- Извлечение данных из веб-страниц с помощью BeautifulSoup и requests: конспект, видео
- Оригинальная документация (англ.): requests BeautifulSoup.
Занятие 13: извлечение данных из веб-страниц, заполнение форм
- Извлечение данных с помощью RoboBrowser: конспект, видео
- Оригинальная документация (англ.): RoboBrowser
Занятие 14: XML и JSON API
- JSON и API: конспекты ещё один пример.
Занятие 15: продвинутый веб-скреппинг с помощью Selenium
- конспект
- неофициальная документация по Python-Selenium (её проще читать, чем официальную).
Занятие 16: pandas_datareader и немного математики
- подробный конспект похожего занятия (нужно заменить
pandas.io
наpandas_datareader
, предварительно установив пакетpandas_datareader
, и вместоget_data_yahoo
использоватьget_data_google
).
Задания
Примечания
- ↑ PT использует термин «генераторы списков» вместо «списковые включения»