Компьютерные инструменты обработки данных
Курс «Компьютерные инструменты обработки данных» (в учебном плане «Статистика») ставит своей целью дать слушателям базовые навыки сбора и обработки данных с помощью стандарных инструментов современной Data Science: языков программирования Python и R.
- Автор курса: Щуров И.В.
Содержание
Инструменты
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 <название пакета>
(например, conda install seaborn
).
Вы можете также запустить Jupyter онлайн здесь, но данные там не сохранятся и возможности будут ограничены.
Работа с ipynb-файлами
Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке Serving notebooks from local directory: /home/user/IPython
, появляющейся в чёрненьком окошке при запуске Jupyter; здесь /home/user/IPython
— искомый путь.
Материалы
занятие | тема | конспект | доп. материалы | видео | задачи |
---|---|---|---|---|---|
1 |
Первое знакомство |
ipynb |
PT: арифметические операции, целые и вещественные числа |
видео |
ДЗ№1 |
2 |
Оператор if . Типы данных. Списки. |
ipynb |
PT: условная инструкция, списки |
проверка условий, списки (до «цикл for ») |
|
3 |
Разрезание и склеивание списков (join() , split() ) и параметры print() |
ipynb (раздел «Ввод-вывод списков») |
PT: split и join |
ввод-вывод списков |
|
4 |
Циклы for и while . |
Ссылок много, но из каждой нужен только один раздел: Цикл for, алгоритмы с циклами, цикл while, enumerate |
PT: for, while |
||
5 |
Функции |
ipynb |
PT: функции, сортировка |
видео |
ДЗ№2 |
6 |
Словари. Списковые включения. Обработка строк |
Словари, списковые включения Форматирование строк Ещё немного про строки |
PT: словари, списковые включения[1]]. Шпаргалка по форматированию строк (англ.) |
видео | |
7 |
Извлечение данных из HTML-страниц с помощью BeautifulSoup. |
ipynb |
Оригинальная документация (англ.): requests BeautifulSoup. |
видео | |
8-9 |
Работа с API с помощью JSON и XML. Эмуляция браузеров |
ipynb: XML, JSON. RoboBrowser и Selenium. |
Документация по API MediaWiki (движка Википедии): основная на английском, на русском, автогенерированная на английском, на русском. RoboBrowser, неофициальная документация по Python-Selenium (её проще читать, чем официальную). |
видео: XML, JSON. |
ДЗ№3 |
10 |
Pandas: введение |
ipynb |
Официальная документация pandas : 10-минутное введение (обзор возможностей), pandas cookbook, индексация и выбор данных (подробно). | ||
11-12 |
Pandas: продолжение |
о погоде, о регрессиях |
Официальная документация pandas : Мультииндексы |
Данные
- Тарифы на услуги ЖКХ (Москва, 2012, источник: портал открытых данных г. Москвы).
Дополнительные материалы
- Pythontutor.ru: хороший базовый учебник по Python, с интерактивными примерами и задачами. Там же есть визуализатор, позволяющий запускать произвольный код «построчно» и смотреть, что происходит. Очень полезный инструмент для отладки. См. также оригинальную версию визуализатора (разработчик Philip Guo).
- CodingBat: разные упражнения с автоматической проверкой.
- Программирование на языке Python для сбора и анализа данных]: расширенная версия этого курса.
- Официальная документация по Python 3.
- Кратчайшее введение в Python для математики — шпаргалка по Python с математическим уклоном.
- ↑ PT использует термин «генераторы списков» вместо «списковые включения»