Python для сбора и анализа данных: различия между версиями
Строка 71: | Строка 71: | ||
* Работа с файлами ([конспект], [файл]). Массивы NumPy ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/arrays-pandas.ipynb конспект], [https://allatambov.github.io/icef/seminars/arrays-pandas.ipynb файл]). | * Работа с файлами ([конспект], [файл]). Массивы NumPy ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/arrays-pandas.ipynb конспект], [https://allatambov.github.io/icef/seminars/arrays-pandas.ipynb файл]). | ||
* Работа с датафреймами pandas: часть 1 ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-01.ipynb конспект], [https://allatambov.github.io/icef/seminars/pandas-01.ipynb файл]), часть 2 ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-02.ipynb конспект], [https://allatambov.github.io/icef/seminars/pandas-02.ipynb файл]). | * Работа с датафреймами pandas: часть 1 ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-01.ipynb конспект], [https://allatambov.github.io/icef/seminars/pandas-01.ipynb файл]), часть 2 ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-02.ipynb конспект], [https://allatambov.github.io/icef/seminars/pandas-02.ipynb файл]). | ||
+ | * Официальные тьюториалы NumPy ([https://docs.scipy.org/doc/numpy/user/quickstart.html ссылка]). Официальные тьюториалы Pandas ([https://pandas.pydata.org/pandas-docs/stable/getting_started/intro_tutorials/index.html ссылка]). | ||
− | + | === 17 марта [Видеозапись] === | |
− | |||
− | -- | + | '''Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.''' |
+ | |||
+ | * Работа с датафреймами pandas: часть 3 (конспект, файл). | ||
+ | * Семинар 5: группировка и агрегирование ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/icef-seminar05.ipynb задания], [http://allatambov.github.io/icef/seminars/icef-seminar05.ipynb icef-seminar05.ipynb]). | ||
+ | * Дополнительно: более сложный пример с группировкой и агрегированием ([https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/pandas-part2.ipynb конспект], файл [https://raw.githubusercontent.com/allatambov/PyDat-0919/master/lectures-seminars/7-pandas/elect.csv elect.csv]). | ||
+ | |||
+ | '''Тема 8. Визуализация и разведывательный анализ данных.''' | ||
==Дополнительные материалы== | ==Дополнительные материалы== |
Версия 18:04, 17 марта 2021
Это страница факультатива «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).
24 февраля Видеозапись
Тема 4. Проверка условий и условные конструкции. Цикл while.
- Проверка условий (конспект, conditions.ipynb). Условные конструкции (конспект, if-else.ipynb). Pythontutor: условия.
- Цикл while (конспект, while.ipynb). Pythontutor: цикл while. Сравнение continue и pass (статья).
- Семинар 3: условные конструкции и цикл while (задания, icef-seminar03.ipynb), решения (конспект, icef-seminar03-solution.ipynb).
Тема 5*. Структуры данных в Python: кортежи, множества, словари.
- Тема изучается на DataCamp (задания online 2 и online 3).
- Вспомогательные лекции: кортежи (конспект, tuples.ipynb), словари (конспект, dicts.ipynb), множества (конспект).
- Примеры задач на словари с решениями (конспект, файл).
3 марта Видеозапись
Тема 6. Функции в Python.
- Полная лекция по функциям (конспект, автор И.В.Щуров), ipynb-файл с занятия. Lambda-функции (конспект, файл).
- Семинар 4: функции (задания, icef-seminar04.ipynb), решения (конспект, icef-seminar04-solutions.ipynb).
- Pythontutor: функции и рекурсия.
10 марта Видеозапись
Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.
- Данные для работы: firtree.csv.
- Работа с файлами ([конспект], [файл]). Массивы NumPy (конспект, файл).
- Работа с датафреймами pandas: часть 1 (конспект, файл), часть 2 (конспект, файл).
- Официальные тьюториалы NumPy (ссылка). Официальные тьюториалы Pandas (ссылка).
17 марта [Видеозапись]
Тема 7. Работа с файлами. Массивы NumPy и датафреймы pandas.
- Работа с датафреймами pandas: часть 3 (конспект, файл).
- Семинар 5: группировка и агрегирование (задания, icef-seminar05.ipynb).
- Дополнительно: более сложный пример с группировкой и агрегированием (конспект, файл elect.csv).
Тема 8. Визуализация и разведывательный анализ данных.
Дополнительные материалы
Библиотека SymPy для символьных вычислений
Введение в SymPy: часть 1 (sympy-1.ipynb). Введение в SymPy: часть 2 (sympy-2.ipynb). Задачи по SymPy (sympy-problems.ipynb). Официальная документация SymPy.
Работа с текстом в Python
Библиотека pymorphy2 (морфологический анализатор). Библиотека pymystem3 (предобработка текста). Тьюториал для построения облака слов (word cloud).
Объекты и классы в Python
Конспект по классам, материалы по классам от W3schools.
Статистика и анализ данных в Python
Материалы по статистическим тестам и линейным регрессиям в Python.
Домашние задания и 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 |
Online 3 | DataCamp: глава Dictionaries - the root of Python | 5 марта 23:59 |
Online 4 | DataCamp: глава Default arguments, variable-length arguments and scope | 10 марта 18:10 |
Домашнее задание 2 | задание, hw02.ipynb, сдавать на Dropbox | 15 марта 23:59 |
Online 5 | DataCamp: глава NumPy | 18 марта 18:10 |