Разница между страницами «Линейная алгебра» и «Python для сбора и анализа данных»
(Новая страница: «Дорогие студенты совместного бакалавриата ВШЭ-РЭШ! На этой странице будут появляться р...») |
(Новая страница: «Курс центра повышения квалификации для сотрудников НИУ ВШЭ. Ведёт Илья Щуров. ==Инструме...») |
||
Строка 1: | Строка 1: | ||
− | + | Курс центра повышения квалификации для сотрудников НИУ ВШЭ. Ведёт Илья Щуров. | |
− | + | ==Инструменты== | |
+ | ===Python=== | ||
+ | Мы используем Python версии 3 и оболочку Jupyter (ранее известную как IPython Notebook). Чтобы их установить, проще всего скачать пакет [http://continuum.io/downloads 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) и набрать команду <code>conda install <название пакета></code> или <code>pip install <название пакета></code> (например, <code>conda install seaborn</code>). | ||
+ | |||
+ | ===Работа с ipynb-файлами=== | ||
+ | Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке <code>Serving notebooks from local directory: /home/user/IPython</code>, появляющейся в чёрненьком окошке при запуске Jupyter; здесь <code>/home/user/IPython</code> — искомый путь. | ||
+ | |||
+ | ==Материалы== | ||
+ | ===Занятие 1=== | ||
+ | * Первое знакомство: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%201.ipynb#Python-как-калькулятор конспект] (начиная с раздела «Python как калькулятор»), [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.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb конспект] (до цикла <code>for</code>). | ||
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/ списки]. | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps01/ps01.ipynb ДЗ№1] | ||
+ | |||
+ | ===Занятие 2=== | ||
+ | * «Сырой» [http://nbviewer.jupyter.org/gist/ischurov/6b27526b902eb9c1adeaa1453956b3b1 конспект занятия] (без пояснений). | ||
+ | |||
+ | * Цикл <code>for</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb#Цикл-for конспект]]. | ||
+ | ** PT: [http://pythontutor.ru/lessons/for_loop/ цикл for]. | ||
+ | |||
+ | * <code>.split</code> и <code>.join</code>, алгоритмы с циклами: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb#Лекция-№3:-Ввод-вывод-списков-и-проверка-условий конспект] (до раздела «Проверка условий») | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps02/ps02.ipynb ДЗ№2] | ||
+ | |||
+ | ===Занятие 3=== | ||
+ | * «Сырой» [http://nbviewer.jupyter.org/gist/ischurov/80140b1303f79bb030655d350d6a34ed конспект занятия] (без пояснений) | ||
+ | |||
+ | * Списковые включения (list comprehensions): [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb#Списковые-включения-(list-comprehensions) конспект] | ||
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/#section_3 списковые включения][1]] | ||
+ | |||
+ | * Проверка условий, цикл <code>while</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb#Проверка-условий конспект] | ||
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/#section_2 split и join], [http://pythontutor.ru/lessons/ifelse/ if], [http://pythontutor.ru/lessons/while/ while] | ||
+ | |||
+ | * Функции: [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/ функции]. | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps03/ps03.ipynb ДЗ№3] | ||
+ | |||
+ | ===Занятие 4=== | ||
+ | * [http://nbviewer.jupyter.org/gist/506570e73c1be21a67aa0ea817a4d7b4 Сырой конспект занятия]. | ||
+ | |||
+ | * Словари: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb конспект]. | ||
+ | ** Дополнение: PT [http://pythontutor.ru/lessons/dicts/ словари]. | ||
+ | |||
+ | * Сортировка: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%206.ipynb#Сортировка конспект]. | ||
+ | ** Дополнение: [https://docs.python.org/3/howto/sorting.html Sorting howto] (англ.). | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps04/ps04.ipynb ДЗ№4]. | ||
+ | |||
+ | ===Занятие 5=== | ||
+ | * [https://gist.github.com/ischurov/768f9c2be6fda7785bdac9d1fc33e272 Сырой конспект занятия] | ||
+ | |||
+ | * Работа с файлами: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Файловый-ввод-вывод конспект]. | ||
+ | ** Дополнение: [https://docs.python.org/3/tutorial/inputoutput.html официальная документация] (англ.) | ||
+ | |||
+ | * Библиотеки <code>numpy</code> и <code>matplotlib</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2011.ipynb конспект]. | ||
+ | ** Дополнение: [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/hsepython2018/ps05/ps05.ipynb ДЗ№5] | ||
+ | |||
+ | ===Занятие 6=== | ||
+ | * [https://gist.github.com/ischurov/57b13c0e0d1e0675abd6fe82a31b8c4f Сырой конспект занятия] | ||
+ | |||
+ | * <code>pandas</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2012.ipynb конспект] | ||
+ | ** Официальная документация <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 индексация и выбор данных] (подробно). | ||
+ | ** <code>sympy</code>: [https://docs.sympy.org/latest/index.html официальная документация] (можно начать с Tutorial). | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps06/ps06.ipynb ДЗ№6] | ||
+ | |||
+ | ===Занятие 7=== | ||
+ | * [https://gist.github.com/ischurov/9cb7016172e8275bf051c54e1d9ee56e Сырой конспект занятия] | ||
+ | |||
+ | * pandas: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2013.ipynb конспект про погоду] (на занятии мы немного иначе строили матрицу со средней температурой по годам и месяцам, используя для этого <code>.pivot_table()</code> вместо <code>.groupby()</code> с последующим <code>.unstack()</code>) | ||
+ | |||
+ | * веб-скреппинг: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%208.ipynb конспект] | ||
+ | ** Официальная документация (англ.): [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/hsepython2018/ps07/ps07.ipynb ДЗ№7] | ||
+ | |||
+ | ===Занятие 8=== | ||
+ | * [https://gist.github.com/ischurov/aa17089719a931c1cd8de5590e176990 Сырой конспект занятия] (там есть чтение xls-файлов из zip-архивов с помощью <code>pandas</code> и <code>ziplib</code>). | ||
+ | |||
+ | * Работа с API: [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]. | ||
+ | |||
+ | * [http://nbviewer.math-hse.info/github/ischurov/dj-prog/blob/master/Lesson%203.ipynb#Исключения Исключения] (<code>try/except</code>). | ||
+ | |||
+ | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps08/ps08.ipynb ДЗ№8] | ||
+ | |||
+ | ==Примечания== | ||
+ | * ↑ PT использует термин «генераторы списков» вместо «списковые включения» |
Текущая версия на 00:11, 6 февраля 2020
Курс центра повышения квалификации для сотрудников НИУ ВШЭ. Ведёт Илья Щуров.
Содержание
Инструменты
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
).
Работа с ipynb-файлами
Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке Serving notebooks from local directory: /home/user/IPython
, появляющейся в чёрненьком окошке при запуске Jupyter; здесь /home/user/IPython
— искомый путь.
Материалы
Занятие 1
- Первое знакомство: конспект (начиная с раздела «Python как калькулятор»), видео.
- Дополнение: PT арифметические операции, целые и вещественные числа.
Занятие 2
- «Сырой» конспект занятия (без пояснений).
.split
и.join
, алгоритмы с циклами: конспект (до раздела «Проверка условий»)
Занятие 3
- «Сырой» конспект занятия (без пояснений)
- Списковые включения (list comprehensions): конспект
- Дополнение: PT списковые включения[1]]
- Проверка условий, цикл
while
: конспект- Дополнение: PT split и join, if, while
Занятие 4
- Сортировка: конспект.
- Дополнение: Sorting howto (англ.).
- ДЗ№4.
Занятие 5
- Работа с файлами: конспект.
- Дополнение: официальная документация (англ.)
- Библиотеки
numpy
иmatplotlib
: конспект.- Дополнение: numpy quickstart, pyplot tutorial, matplotlib gallery.
Занятие 6
pandas
: конспект- Официальная документация
pandas
: 10-минутное введение (обзор возможностей), pandas cookbook, индексация и выбор данных (подробно). sympy
: официальная документация (можно начать с Tutorial).
- Официальная документация
Занятие 7
- pandas: конспект про погоду (на занятии мы немного иначе строили матрицу со средней температурой по годам и месяцам, используя для этого
.pivot_table()
вместо.groupby()
с последующим.unstack()
)
- веб-скреппинг: конспект
- Официальная документация (англ.): requests BeautifulSoup.
Занятие 8
- Сырой конспект занятия (там есть чтение xls-файлов из zip-архивов с помощью
pandas
иziplib
).
- Исключения (
try/except
).
Примечания
- ↑ PT использует термин «генераторы списков» вместо «списковые включения»