Анализ данных на Python: различия между версиями
| Строка 163: | Строка 163: | ||
* Видеозаписи: предварительная обработка текста ([https://www.dropbox.com/scl/fi/sevxrxhnaf33wli0n61ro/01-text-normalize.mp4?rlkey=2h7xyfqru3pi1dm5t4ecrau5v&st=71gx4he3&dl=0 01]), облако слов ([https://www.dropbox.com/scl/fo/olrg31ssc30xcqq95g6t8/AJrL9dPCPqqnEDOFLC6BJqY?rlkey=lka8e27b5y4y4kfclmx1pdmif&st=ub7q031r&dl=0 02]), добавление маски ([https://www.dropbox.com/scl/fi/31a5k0cucrhq20dc520nq/03-mask.mp4?rlkey=h0o1ndzt8wi0hrj4q77bmcrtw&st=bu78c7wo&dl=0 03]).  | * Видеозаписи: предварительная обработка текста ([https://www.dropbox.com/scl/fi/sevxrxhnaf33wli0n61ro/01-text-normalize.mp4?rlkey=2h7xyfqru3pi1dm5t4ecrau5v&st=71gx4he3&dl=0 01]), облако слов ([https://www.dropbox.com/scl/fo/olrg31ssc30xcqq95g6t8/AJrL9dPCPqqnEDOFLC6BJqY?rlkey=lka8e27b5y4y4kfclmx1pdmif&st=ub7q031r&dl=0 02]), добавление маски ([https://www.dropbox.com/scl/fi/31a5k0cucrhq20dc520nq/03-mask.mp4?rlkey=h0o1ndzt8wi0hrj4q77bmcrtw&st=bu78c7wo&dl=0 03]).  | ||
* Подробный конспект с решениями ([https://github.com/allatambov/PyPerm24/blob/main/texts-practice-upd.ipynb ipynb]).  | * Подробный конспект с решениями ([https://github.com/allatambov/PyPerm24/blob/main/texts-practice-upd.ipynb ipynb]).  | ||
| + | |||
| + | ===Неделя 5. Примеры работы с API ===  | ||
| + | |||
| + | * Файл к занятию ([ipynb]).  | ||
| + | * Выгрузка постов и комментариев из ВКонтакте (ipynb с решениями).  | ||
| + | |||
| + | Дополнительно:  | ||
| + | |||
| + | * [https://dev.vk.com/ru/api/api-requests Документация] API ВКонтакте.  | ||
| + | * [https://requests.readthedocs.io/en/latest/ Документация] модуля requests, [https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_HTTP статья] о состояниях HTTP.  | ||
== Домашние задания ==  | == Домашние задания ==  | ||
Версия 02:07, 11 мая 2024
Дорогие студенты!
Это страница обязательного курса «Анализ данных на Python», читаемого на программе «Разработка информационных систем для бизнеса»
 2 курса бакалавриата в 4 модуле 2023-2024 учебного года.
Занятия ведёт: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
 - 2 Среда для работы
 - 3 Материалы курса
- 3.1 Неделя 0. Напоминания про Python и Jupyter Notebook
 - 3.2 Неделя 1. Индексируемые структуры данных в Python
 - 3.3 Лабораторная работа 1. Условные конструкции и индексируемые структуры
 - 3.4 Неделя 2. Знакомство с массивами NumPy
 - 3.5 Лабораторная работа 2. Работа с массивами, ввод и вывод
 - 3.6 Неделя 3. Словари, массивы NumPy, датафреймы Pandas
 - 3.7 Лабораторная работа 3. Функции и lambda-функции
 - 3.8 Неделя 4. Операции с датафреймами Pandas, введение в визуализацию
 - 3.9 Лабораторная работа 4. Методы на строках и работа с txt-файлами
 - 3.10 Неделя 4*. Обработка текстов и облака слов
 - 3.11 Неделя 5. Примеры работы с API
 
 - 4 Домашние задания
 
Правила игры
Формула оценки: 0.4 × Лабораторные работы + 0.2 × ДЗ1 + 0.25 × ДЗ2 + 0.15 × ДЗ3.
Пояснения:
- Лабораторные работы: небольшие домашние задания, обязательные к выполнению к следующему занятию.
Могут включать задачи на закрепление пройденного материала или задачи, предполагающие самостоятельное
изучение небольших блоков по основам Python по предложенных материалам (конспекты или видео).
Всего запланировано 8 лабораторных работ с одинаковым весом. - Домашние задания: объёмные домашние задания по итогу нескольких пройденных тем. Представляют собой
индивидуальные мини-проекты, в которых необходимо поработать с предложенными данными по инструкции
и проинтерпретировать предложенные результаты. - Поздняя сдача лабораторных работ не предусмотрена.
 - Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов:
опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%.
Домашние задания, сданные позже, не принимаются и не оцениваются. 
Среда для работы
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя
 интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы
Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab 
(для создания и редактирования файлов нужен аккаунт Gmail).
Подробности по установке и работе – см. ниже в неделе 0.
Материалы курса
Неделя 0. Напоминания про Python и Jupyter Notebook
Для подготовки к работе на курсе можно ознакомиться со следующими материалами онлайн-курса:
- Видео. Подготовка рабочего места, инструкция по открытию файлов в Jupyter Notebook.
 - Видео. Первая программа, задачи для тренировки.
 
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
 - Работа в Jupyter Notebook (видео), работа в Google Colab (видео).
 
Дополнительно:
- Набор текста в Jupyter (видео, ipynb).
 - Markdown: больше про Markdown, знакомство с Jupyter Notebook и Markdown (читать, ipynb).
 - LaTeX: Overleaf, документация, материалы других курсов по LaTeX.
 
Неделя 1. Индексируемые структуры данных в Python
- «Сырые» ipynb-файлы с занятий: группа 1, группа 2, группа 3, группа 4.
 - Обзор индексируемых структур данных в Python: строки, кортежи, списки (ipynb).
 - Цикл for и его аналоги: списковые включения и функция map() (ipynb).
 
Дополнительно:
- Визуализатор кода от Pythontutor.
 - Методы на списках (ipynb), методы на строках (ipynb).
 
Лабораторная работа 1. Условные конструкции и индексируемые структуры
Для выполнения лабораторной работы необходимо знать формулировку логических выражений 
и конструкцию if-elif-else в Python. Для этого (на выбор) можно:
- Прослушать материал темы 2 Условия и логические выражения онлайн-курса «Python как иностранный».
 - Прочитать конспект лекции Логические выражения и условные конструкции.
 - Изучить материалы онлайн-учебника Pythontutor.
 
Также могут пригодиться дополнительные материалы по методам на списках из недели 1.
| Лабораторная работа | Задания | Дедлайн | Куда сдавать | 
|---|---|---|---|
| Лабораторная работа 1 | ipynb | 13 апреля 11:30 | ссылка на Dropbox | 
Неделя 2. Знакомство с массивами NumPy
- «Сырые» ipynb-файлы с занятий: пара 1, пара 2.
 - Списки vs массивы (ipynb).
 - Описание выборки, сохранённой в массив (ipynb).
 
Дополнительно:
- Официальная документация NumPy.
 
Лабораторная работа 2. Работа с массивами, ввод и вывод
Для выполнения лабораторной работы помимо материалов недели 2 необходимо понимать
устройство ввода и вывода в Python и быть знакомыми с методами .split() и .join(). Для этого можно:
- Прочитать конспект лекции Ввод-вывод и форматирование строк.
 - Прочитать конспект лекции Методы .split() и .join() и разбор задач по этой теме.
 
| Лабораторная работа | Задания | Дедлайн | Куда сдавать | 
|---|---|---|---|
| Лабораторная работа 2 | ipynb | 20 апреля 11:30 | ссылка на Dropbox | 
Неделя 3. Словари, массивы NumPy, датафреймы Pandas
- Файл к занятию: ipynb.
 - Словари и массивы, последовательности и датафреймы Pandas (ipynb).
 - Введение в датафреймы pandas: загрузка и описание данных (ipynb), файл Salaries.csv.
 
Дополнительно:
- Официальная документация pandas.
 - PEP8: стандарты оформления кода.
 
Лабораторная работа 3. Функции и lambda-функции
Для выполнения лабораторной работы помимо материалов недели 3 необходимо уметь писать
пользовательские функции, lambda-функции и сочетать их с другими функциями Python. Для этого можно:
- Прослушать материал темы 8 Функции (достаточно первого раздела) онлайн-курса «Python как иностранный».
 - Прочитать конспект лекции Функции (для желающих – более подробная лекция И.В.Щурова).
 - Прочитать конспект по lambda-функциям.
 
| Лабораторная работа | Задания | Дедлайн | Куда сдавать | 
|---|---|---|---|
| Лабораторная работа 3 | ipynb | 27 апреля 11:30 | ссылка на Dropbox | 
Неделя 4. Операции с датафреймами Pandas, введение в визуализацию
- Файл к занятию (ipynb).
 - Операции с датафреймами Pandas (ipynb), файл Salaries.csv.
 - Практикум по pandas (ipynb), решения (ipynb), файл final.xlsx.
 
Дополнительно:
- Официальная документация по обработке строк с модулем str в pandas.
 - Цвета в matplotlib, палитра цветов от Google, colorscheme.ru.
 
Лабораторная работа 4. Методы на строках и работа с txt-файлами
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с обработкой txt-файлов.
Для этого (на выбор) можно:
- Прослушать материал темы 9 Текстовые файлы и таблицы онлайн-курса «Python как иностранный».
 - Прочитать конспект лекции Чтение и запись txt-файлов (txt-файл здесь).
 
Также могут пригодиться дополнительные материалы по методам на строках из недели 1.
| Лабораторная работа | Задания | Дедлайн | Куда сдавать | 
|---|---|---|---|
| Лабораторная работа 4 | ipynb | 4 мая 23:59 | ссылка на Dropbox | 
Неделя 4*. Обработка текстов и облака слов
Синхронного занятия нет, предлагается видеозапись и конспект.
Данная тема будет включена во вторую часть первого домашнего задания.
- Файлы для работы: stopwords-ru.txt, guitar.jpeg, text-practice.ipynb, сайт Freepik как источник изображений.
 - Видеозаписи: предварительная обработка текста (01), облако слов (02), добавление маски (03).
 - Подробный конспект с решениями (ipynb).
 
Неделя 5. Примеры работы с API
- Файл к занятию ([ipynb]).
 - Выгрузка постов и комментариев из ВКонтакте (ipynb с решениями).
 
Дополнительно:
- Документация API ВКонтакте.
 - Документация модуля requests, статья о состояниях HTTP.
 
Домашние задания
| Домашнее задание | Дедлайн | Куда загружать | 
|---|---|---|
| Домашнее задание №1 | 19 мая 23:59 (по Перми) | ссылка на Dropbox |