Статистика и открытые данные
Курс ведёт Илья Щуров.
Содержание
- 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
- Работа с открытыми API с помощью XML: конспект, видео.
- JSON и API: конспекты ещё один пример.
Занятие 15: продвинутый веб-скреппинг с помощью Selenium
- конспект
- неофициальная документация по Python-Selenium (её проще читать, чем официальную).
Занятие 16: pandas_datareader и немного математики
- подробный конспект похожего занятия (нужно заменить
pandas.io
наpandas_datareader
, предварительно установив пакетpandas_datareader
, и вместоget_data_yahoo
использоватьget_data_google
). - математические возможности Python