Python для сбора и анализа данных
Курс центра повышения квалификации для сотрудников НИУ ВШЭ. Ведёт Илья Щуров.
Содержание
Инструменты
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 использует термин «генераторы списков» вместо «списковые включения»