Программирование и анализ данных: часть 1
Материалы занятий
Тема 1. Введение в Python и Jupyter Notebook
Инструкция по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown (intro-jupyter.ipynb). Вычисления и переменные в Python (intro-variables.ipynb).
Дополнительно:
Pythontutor: визуализатор кода на Pythontutor, вычисления. Markdown and Jupyter: больше про Markdown, интерактивные виджеты в Jupyter. LaTeX: ShareLaTeX для желающих, документация на английском, материалы других курсов по LaTeX
Тема 2. Типы данных в Python. Ввод и вывод. Работа со строками
Типы переменных, ввод и вывод в Python (intro-types.ipynb). Форматирование строк (str-formating.ipynb).
Семинар 1: ввод и вывод в Python (seminar-intro.ipynb), решения (seminar-intro-solutions.ipynb).
Дополнительно:
Строки: f-strings. Pythontutor: ввод и вывод, строки.
Тема 3. Списки и цикл for
Списки и цикл for (lists-1.ipynb)
Методы .split() и .join() (split-join.ipynb)
Методы на списках (lists-2.ipynb)
Семинар 2: списки и цикл for (seminar2.ipynb), решения (seminar2-solutions.ipynb)
Семинар 3: списки и методы на строках (seminar3.ipynb), решения (seminar3-solutions.ipynb)
Дополнительно:
Тема 4. Условные конструкции и цикл while
Проверка условий (conditions.ipynb)
Условные конструкции и цикл while (if-else-while.ipynb)
Семинар 4: условные конструкции и цикл while (seminar4.ipynb), решения (seminar4-solutions.ipynb)
Дополнительно:
Pythontutor: if-else, цикл while
Тема 5. Структуры данных в Python: кортежи и словари
Кортежи и словари (tuples-dicts.ipynb) Еще немного о списках: генераторы списков, итераторы (more-lists.ipynb)
Семинар 5: кортежи и словари (seminar5.ipynb), решения (seminar5-solutions.ipynb)
Дополнительно:
Тема 6. Функции в Python
Полная лекция по функциям (functions.ipynb).
Краткая лекция по функциям, после DataCamp (functions-short.ipynb).
Lambda-функции (lambda-functions.ipynb)
Семинар 6: функции (seminar6.ipynb), решения (seminar6-solutions.ipynb)
Дополнительно:
Pythontutor: функции и рекурсия
Тема 7. Массивы NumPy, последовательности и датафреймы Pandas
Краткое введение в массивы NumPy и датафреймы Pandas (numpy-pandas.ipynb).
Датафреймы pandas: часть 1 (pandas-part01.ipynb).
Датафреймы pandas: часть 2 (pandas-part02.ipynb).
Датафреймы pandas: часть 3 (pandas-part03.ipynb).
Датафреймы pandas: часть 4 (исходный код: 01-pivot_table, 02-stack_unstack, 03-merge).
Работа с файлами: доступ и изменение (os-json.ipynb)
Семинар 7 (seminar7.ipynb), решения (seminar7-solutions.ipynb).
Семинар 8 (seminar8.ipynb), решения (seminar8-solutions.ipynb)
Данные: firtree.csv, TED.csv, Chile.csv, Chile.txt, HP_one.xlsx, HP_two.xlsx, HP_three.xlsx
Дополнительно:
Официальная документация pandas. Официальная документация matplotlib.
WordCloud tutorial на DataCamp.
Визуализации от Ramiro Gómez.
Тема 8. Визуализация с seaborn. Виджеты Jupyter Notebook
Графики с seaborn (seaborn-graphs.ipynb)
Виджеты Jupyter Notebook: документация
Семинар 9 (seminar9.ipynb), решения (seminar9-solutions.ipynb)
Дополнительно:
Официальная документация seaborn.
Тема 9. Разведывательный анализ данных
Выявление связей в данных (py-associations.ipynb)
Данные: wgi-new.csv, Cowles.csv
Дополнительно:
Больше про статистику в Python: ссылка
Тема 10. Объекты и классы.
Классы (classes.ipynb)