Python для сбора данных
Материалы занятий
Тема 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-formatting.ipynb).
Семинар 1: ввод-вывод и приведение типов (icef-seminar01.ipynb), решения (icef-seminar01-solutions.ipynb)
Дополнительно:
Pythontutor: ввод и вывод
Тема 3. Списки и цикл for. Методы на строках.
Списки и цикл for: введение (lists-1.ipynb)
Списки: методы на списках (lists-2.ipynb), видео-лекция (ссылка)
Генераторы списков и enumerate() (more-lists.ipynb), видео-лекция (ссылка)
Методы .split() и .join() (split-join.ipynb)
Методы на строках (ссылка).
Семинар 2: списки и строки (icef-seminar02.ipynb), решения (icef-seminar02-solution.ipynb), видео-разбор задач 7-9 (ссылка).
Дополнительно:
Pythontutor: списки, цикл for, строкиТема 4. Проверка условий и условные конструкции. Цикл while.
Проверка условий (conditions.ipynb), видео-лекция (ссылка).
Условные конструкции (if-else.ipynb)
Цикл while (while.ipynb), видео-лекция (ссылка).
Семинар 3: условные конструкции и цикл while (icef-seminar03.ipynb), решения (icef-seminar03-solution.ipynb), видео-разбор (ссылка)
Дополнительно:
Сравнение pass vs continue (ссылка)
Pythontutor: условия, цикл while
Тема 5. Структуры данных в Python: кортежи и словари.
Кортежи (tuples.ipynb), видео-лекция (ссылка).
Словари (dicts.ipynb).
Дополнительно:
Множества (sets.ipynb).
Задачи на словари с решением (ссылка).
Pythontutor: словари, множества
Тема 6. Функции.
Полная лекция по функциям (functions.ipynb), видео-лекция (ссылка) по введению в функции.
Семинар 4: функции (icef-seminar04.ipynb), решения (icef-seminar04-solution.ipynb), видео-разбор (ссылка)
Дополнительно:
Конспект по lambda-функциям (ссылка) Pythontutor: функции и рекурсия
Тема 7. Массивы NumPy и датафреймы Pandas.
Массивы NumPy и датафреймы pandas (arrays-pandas.ipynb), видео-лекция (arrays-1, arrays-2, pandas-intro). Работа с файлами (os-files.ipynb), видео-разбор (ссылка). Работа с датафреймами pandas: часть 1 (pandas-01.ipynb), видео-лекция (pandas-1, pandas-2) Работа с датафреймами pandas: часть 2 (pandas-02.ipynb), видео-разбор (pandas-3) Работа с датафреймами pandas: часть 3 (pandas-03.ipynb), видео-разбор (apply-lambda, grouping-1, grouping-2) Семинар 5: группировка и агрегирование (icef-seminar05.ipynb), решения (icef-seminar05-solutions.ipynb), видео-разбор (seminar-json)
Данные: firtree.csv, data-27257-2020-02-03.json
Дополнительно:
Официальные тьюториалы Pandas: ссылка Официальные тьюториалы NumPy: ссылка Более сложный пример с группировкой и агрегированием: ссылка, данные для примера: elect.csv
Тема 8. Визуализация и разведывательный анализ данных.
Визуализация с seaborn (seaborn-graphs.ipynb), видео-разбор (seaborn-1, seaborn-2) Семинар 6: графики и виджеты (icef-seminar06.ipynb), решения (icef-seminar06-solutions.ipynb), видео-разбор (seminar-seaborn)
Данные: Chile.csv
Дополнительно:
Больше про статистику в Python
Тема 9. Парсинг HTML-файлов и управление браузером с Selenium.
Парсинг HTML с BeautifulSoup (icef-html.ipynb), видео-разбор (часть 1)
Семинар 7: парсинг html-файлов (icef-seminar07.ipynb), решения (icef-seminar07-solution.ipynb)
Ссылка для скачивания драйверов selenium для Chrome, ссылка для скачивания драйверов selenium для Mozilla, инструкция по решению проблем на Mac
Управление браузером c Selenium (icef-selenium.ipynb), видео-разбор (часть 2)
Обработка исключений (except.ipynb)
Дополнительно:
Тема 10. Работа с API.
Работа с API mos.ru (mos-API.ipynb), документация здесь, видео-запись (понедельник, четверг) Работа с API ВКонтакте (lect-vk-api.ipynb, vk-add.ipynb), получение доступа, видео-запись (понедельник, четверг)
Дополнительно:
Python Datetime и формат дата-время, автоматическая рассылка писем с gmail