Разница между страницами «Математический анализ и линейная алгебра» и «Статистика и открытые данные»

Материалы по математике, 2017-18 учебный год
(Различия между страницами)
Перейти к навигации Перейти к поиску
(Новая страница: «'''Дорогие студенты!''' На этой странице будут появляться различные материалы и объявлени...»)
 
(Новая страница: «Курс ведёт Илья Щуров. == Инструменты == === Python === Мы используем Python версии 3 и оболочку Jupyter...»)
 
Строка 1: Строка 1:
'''Дорогие студенты!'''
+
Курс ведёт Илья Щуров.
  
На этой странице будут появляться различные материалы и объявления, связанные с курсом '''«Математический анализ и линейная алгебра»''', читаемого для студентов 2-го курса школы лингвистики в '''2017/2018''' учебном году.  
+
== Инструменты ==
 +
=== Python ===
 +
Мы используем Python версии 3 и оболочку Jupyter (ранее известную как IPython Notebook). Чтобы их установить, проще всего скачать пакет [http://continuum.io/downloads Anaconda]. Обратите внимание: вам нужна версия с Python 3.x.
  
* Авторы курса: Ю. Г. Кудряшов, И. В. Щуров, А. М. Изосимов, Д. А. Филимонов, Р. Я. Будылин.
+
После установки Anaconda у вас появится:
* Лекции читает: Филимонов Дмитрий Андреевич.
 
* Семинары  ведет: Филимонов Дмитрий Андреевич.
 
  
== Учебные материалы ==
+
* Под Windows: в меню «Пуск» пункт «Anaconda», в нём подпункт «IPython Notebook».
{|class='wikitable'
+
* Под 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>).
|-
+
 
|12.09
+
Вы можете также запустить Jupyter онлайн [http://try.jupyter.org здесь], но данные там не сохранятся и возможности будут ограничены.
|Преобразования графиков
+
 
|12.09
+
==== Работа с ipynb-файлами ====
|[http://math-hse.info/a/2017-18/ling-la/1-graph-transformation.pdf Преобразования графиков.]
+
[[Файл:Nbviewer download icon.png|thumb|right|Чтобы скачать ipynb-файл, нужно кликнуть на иконку в красном кружке правой кнопкой и выбрать «сохранить файл как» или аналогичный пункт меню]]
|-
+
Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой ''Upload'' в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке <code>Serving notebooks from local directory: /home/user/IPython</code>, появляющейся в чёрненьком окошке при запуске Jupyter; здесь <code>/home/user/IPython</code> — искомый путь.
|16.09
+
 
|Обратная функция. Зоопарк функций. Экспонента и логарифм.
+
[[Файл:Jupyter-Upload.png|thumb|right|Чтобы загрузить файл в Jupyter Notebook, можно нажать на кнопку ''Upload'']]
|16.09
+
 
|[http://math-hse.info/a/2017-18/ling-la/2-invfunc-log.pdf Обратная функция. Экспонента. Логарифм.]
+
== Материалы ==
|-
+
=== Занятие 1: Первое знакомство ===
|19.09
+
* Первое знакомство: [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/ целые и вещественные числа].  
|19.09
+
=== Занятие 2: Списки и цикл <code>for</code> ===
|[http://math-hse.info/a/2017-18/ling-la/3-limits-sequences.pdf Предел последовательности.]
+
* Списки: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb конспект], [https://www.youtube.com/watch?v=kBu3g-ITjY4 видео].
|-
+
** Дополнение: {{PT}} [http://pythontutor.ru/lessons/lists/ списки].
|26.09
+
=== Занятие 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 видео]
|26.09
+
** Дополнение: {{PT}}  [http://pythontutor.ru/lessons/lists/#section_2 split и join], [http://pythontutor.ru/lessons/ifelse/ if], [http://pythontutor.ru/lessons/while/ while]
|[http://math-hse.info/a/2017-18/ling-la/4-limits-functions.pdf Предел функции.]
+
 
|-
+
=== Занятие 4: Функции ===
|03.10
+
* Функции: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb конспект] [https://www.youtube.com/watch?v=NYrYSFyCg4w видео].
|[http://math-hse.info/a/2017-18/ling-la/o_O.pdf О-символика.]
+
** Дополнение: {{PT}} [http://pythontutor.ru/lessons/functions/ функции].
|03.10
+
 
|[http://math-hse.info/a/2017-18/ling-la/5-O_o-seminar.pdf О-символика.]
+
=== Занятие 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 видео]
|10.10
+
** Дополнение: {{PT}} [http://pythontutor.ru/lessons/lists/#section_3 списковые включения]<ref>{{PT}} использует термин «генераторы списков» вместо «списковые включения»</ref>, [http://pythontutor.ru/lessons/2d_arrays/ двумерные массивы]
|Производная.
+
 
|10.10
+
=== Занятие 6: Словари и всякая всячина ===
|[http://math-hse.info/a/2017-18/ling-la/6-derivative.pdf Производная.]
+
* Словари: [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/ словари]
|17.10
+
* Множества: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Множества конспект]
|Ряд Тейлора. Геометрический смысл производной. Правило Лопиталя.
+
 
|17.10
+
=== Занятие 7: Сортировка и работа с файлами ===
|[http://math-hse.info/a/2017-18/ling-la/7-lopital-taylor.pdf Правило Лопиталя. Ряд Тейлора.]
+
* Сортировка: [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] (англ.)
|31.10
+
* Файлы: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Файловый-ввод-вывод конспект]
|'''Контрольная.'''
+
** Дополнение: [https://docs.python.org/3/tutorial/inputoutput.html официальная документация] (англ.)
|31.10
+
 
|[http://math-hse.info/a/2017-18/ling-la/8_graph-derivative+minimax.pdf Графическое построение производной, нахождение экстремумов.]
+
=== Занятие 8: numpy и картинки ===
|-
+
* [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2011.ipynb конспект], [http://www.youtube.com/watch?v=A84rlgoVnMY видео]
|07.11
+
* [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]
|Неопределенный интеграл. Замена переменной.
+
 
|07.11
+
=== Занятие 9-10: pandas ===
|[http://math-hse.info/a/2017-18/ling-la/9-integral-1.pdf Неопределенный интеграл.]
+
* 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 О регрессиях и символьной математике]
|14.11
+
* Дополнительные материалы:
|Интегрирование по частям. Определенный интеграл.
+
** Официальная документация <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].
|14.11
+
** [http://nbviewer.jupyter.org/github/ischurov/odebook/blob/master/mathandpython.ipynb О математике в Python]: обзор возможностей и примеры.
|[http://math-hse.info/a/2017-18/ling-la/10-integral-2.pdf Методы интегрирования и определенный интеграл.]
+
* Для установки пакета <code>seaborn</code> нужно в командной строке (<code>cmd.exe</code> под Windows, <code>Terminal</code> под Mac OS) набрать <code>pip install seaborn</code>, либо исползовать функцию установки пакетов в Anaconda Navigator.
|-
+
 
|21.11
+
=== Занятие 11: ещё о pandas: мультииндексы ===
|Матрицы, операции с ними, определитель. Метод Крамера.
+
* [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2013.ipynb конспект]
|21.11
+
* Официальная документация <code>pandas</code>: [http://pandas.pydata.org/pandas-docs/stable/advanced.html Мультииндексы]
|[http://math-hse.info/a/2017-18/ling-la/11-matrix.pdf Матрицы и операции с ними.]
+
 
|-
+
=== Занятие 12: извлечение данных из веб-страниц ===
|24.11
+
* Извлечение данных из веб-страниц с помощью 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].
|24.11
+
 
|[http://math-hse.info/a/2017-18/ling-la/12-inv_matrix.pdf Обратная матрица, метод Гаусса.]
+
=== Занятие 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 видео]
|05.12
+
** Оригинальная документация (англ.): [http://robobrowser.readthedocs.org/en/latest/ RoboBrowser]
|Операторы, собственные значения, собственные вектора.
+
|05.12
+
=== Занятие 14: XML и JSON API ===
|[http://math-hse.info/a/2017-18/ling-la/13-operators.pdf Операторы, собственные значения, собственные векторы.]
+
* Работа с открытыми 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 ещё один пример].
|12.12
+
 
|Квантитативная лингвистика, дифференциальные уравнения (*) и МНК.
+
=== Занятие 15: продвинутый веб-скреппинг с помощью Selenium ===
|12.12
+
* [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb#Selenium конспект]
|[http://math-hse.info/a/2017-18/ling-la/14-quantitative_ling.pdf Некоторые задачи квантитативной лингвистики.]
+
** [http://selenium-python.readthedocs.org/ неофициальная документация] по Python-Selenium (её проще читать, чем официальную).
|-
+
 
|19.12
+
=== Занятие 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>).
|19.12
+
* [http://nbviewer.jupyter.org/github/ischurov/odebook/blob/master/mathandpython.ipynb математические возможности Python]
|Продолжение работы с предыдущим листком. Консультация.
+
== Задания ==
|-
+
* [[/Итоговый проект]]
|22.12
+
 
|'''Экзамен.'''
+
=== Примечания ===
|25.12
+
<references/>
|'''Показ работ.'''
 
|}
 

Версия 14:00, 8 февраля 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).

Вы можете также запустить Jupyter онлайн здесь, но данные там не сохранятся и возможности будут ограничены.

Работа с ipynb-файлами

Файл:Nbviewer download icon.png
Чтобы скачать ipynb-файл, нужно кликнуть на иконку в красном кружке правой кнопкой и выбрать «сохранить файл как» или аналогичный пункт меню

Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке Serving notebooks from local directory: /home/user/IPython, появляющейся в чёрненьком окошке при запуске Jupyter; здесь /home/user/IPython — искомый путь.

Файл:Jupyter-Upload.png
Чтобы загрузить файл в Jupyter Notebook, можно нажать на кнопку Upload

Материалы

Занятие 1: Первое знакомство

Занятие 2: Списки и цикл for

Занятие 3: Ввод-вывод списков, проверка условий, цикл while

Занятие 4: Функции

Занятие 5: Списковые включения, zip и двумерные массивы

Занятие 6: Словари и всякая всячина

Занятие 7: Сортировка и работа с файлами

Занятие 8: numpy и картинки

Занятие 9-10: pandas

Занятие 11: ещё о pandas: мультииндексы

Занятие 12: извлечение данных из веб-страниц

Занятие 13: извлечение данных из веб-страниц, заполнение форм

Занятие 14: XML и JSON API

Занятие 15: продвинутый веб-скреппинг с помощью Selenium

Занятие 16: pandas_datareader и немного математики

Задания

Примечания

  1. Шаблон:PT использует термин «генераторы списков» вместо «списковые включения»