Разница между страницами «Линейная алгебра» и «Python для сбора и анализа данных»

Материал из MathINFO
(Различия между страницами)
Перейти к навигации Перейти к поиску
(Новая страница: «Дорогие студенты совместного бакалавриата ВШЭ-РЭШ! На этой странице будут появляться р...»)
 
(Новая страница: «Курс центра повышения квалификации для сотрудников НИУ ВШЭ. Ведёт Илья Щуров. ==Инструме...»)
 
Строка 1: Строка 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

Занятие 2

  • .split и .join, алгоритмы с циклами: конспект (до раздела «Проверка условий»)

Занятие 3

Занятие 4

Занятие 5

Занятие 6

Занятие 7

  • pandas: конспект про погоду (на занятии мы немного иначе строили матрицу со средней температурой по годам и месяцам, используя для этого .pivot_table() вместо .groupby() с последующим .unstack())

Занятие 8

Примечания

  • ↑ PT использует термин «генераторы списков» вместо «списковые включения»