Python для сбора и анализа данных
Это страница факультатива «Python для сбора и анализа данных», читаемого в МИЭФ в 2020/2021 учебном году.
Лекции и семинары ведет: Тамбовцева Алла Андреевна
Содержание
Правила игры
- Формула оценки: 0.4 * ДЗ + 0.2 * Онлайн + 0.4 * Проект.
- Сдача домашних заданий с опозданием допускается, но со штрафом: за задержку в пределах часа – 15% от полученной оценки, в пределах суток – 30%, в пределах двух дней – 50%.
- Курс читается с использованием онлайн-курсов на платформе DataCamp. Бесплатный доступ к платформе студентам предоставляется.
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.
Материалы занятий
10 февраля Видеозапись
Тема 1. Введение в Python и Jupyter Notebook
- Инструкция по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown (конспект, intro-jupyter.ipynb).
- Вычисления и переменные в Python (конспект, intro-variables.ipynb).
- Pythontutor: визуализатор кода, вычисления.
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
- LaTeX: ShareLaTeX для желающих, документация на английском, материалы других курсов по LaTeX.
Тема 2. Типы данных в Python. Ввод и вывод.
- Типы переменных, ввод и вывод в Python (конспект, intro-types.ipynb). Pythontutor: ввод и вывод.
- Форматирование строк (конспект, str-formatting.ipynb).
- Семинар 1: ввод-вывод и приведение типов (задания, icef-seminar01.ipynb, решения (конспект, icef-seminar01-solutions.ipynb).
17 февраля Видеозапись
Тема 3. Списки и цикл for. Методы на строках.
- Списки и цикл for: введение (конспект, lists-1.ipynb). Списки: методы на списках. (конспект, lists-2.ipynb). Pythontutor: списки, цикл for.
- Генераторы списков и enumerate() (конспект, more-lists.ipynb).
- Методы на строках (ссылка). Pythontutor: строки. Методы .split() и .join() (split-join.ipynb) – пока не разбирали.
- Семинар 2: списки и строки (задания, icef-seminar02.ipynb), решения (конспект, icef-seminar02-solutions.ipynb).
Дополнительные материалы
Библиотека SymPy для символьных вычислений
Введение в SymPy: часть 1 (sympy-1.ipynb). Введение в SymPy: часть 2 (sympy-2.ipynb). Задачи по SymPy (sympy-problems.ipynb). Официальная документация SymPy.
Работа с текстом в Python
Библиотека pymorphy2 (морфологический анализатор). Библиотека pymystem3 (предобработка текста). Тьюториал для построения облака слов (word cloud).
Домашние задания и online
Домашнее задание | Ссылка | Дедлайн |
---|---|---|
Online 1 | DataCamp: глава Python Lists | 17 февраля 18:10 |
Online 2 | DataCamp: глава Fundamental data types | 24 февраля 18:10 |
Домашнее задание 1 | задание, hw01.ipynb, сдавать на Dropbox | 28 февраля 23:59 |