Python для сбора и анализа данных КНАД 22/23
Содержание
Записи занятий
https://disk.yandex.ru/d/jWp8yYwALIy8AQ
Вики-страница курса "Программирование на Python", 1 модуль
Лекции
Вторник 13:00 – 14:20, zoom
1. 10 января Модуль numpy. Основные операции для работы с numpy.array. презентация colab
2. 17 января Модуль pandas. series и работа с одним датафреймом colab, первый пункт
3. 24 января Вопросы производительности. GIL. Работа в Pandas с несколькими таблицами презентация colab colab performance
4. 31 января Визуализация данных в Python magic в jupyter matplotlib1 matplotlib2 pandas_plot plotly seaborn
5. 7 февраля Общее представление о MapReduce задачах, экосистеме Hadoop, HDFS презентация
6. 14 февраля Представление о реляционных базах данных. Основы языка SQL. Работа с таблицами в MySQL. презентация источник вдохновения скрипт для создания БД для MySQL
7. 21 февраля Spark презентация техносферы
8. 28 февраля YARN презентация, Hbase презентация
9. 7 марта Написание веб-приложения на Flask код
10. 24 марта Базы данных: индексы, ограничения, представления, транзакции, ACID презентация код
Семинары
Пятница 13:00 – 14:20, zoom 222 (Денис) zoom 221 (Михаил)
1. 13 января Продолжение лекции по numpy colab
2. 20 января Решение задач на numpy упражнения отсюда начиная с 9го
3. 27 января Решение задач на pandas. Решение задач на применение функций к датафреймам, работу с несколькими датафреймами. Сравнение производительности операций задачи
4. 3 февраля Практика построения визуализаций с помощью matplotlib задачи
5. 10 февраля Практика построения визуализаций с помощью plotly. Знакомство с mrjob tasks code
6. 17 февраля Практика работы с SQL архив с заданием, источник архива (если авторские права, все дела) online editor
7-8. 3, 10 марта Решение задач на pySpark tasks colab Сравнение RDD и DataFrame
9. 17 марта Миграции в базах данных, redis как пример NoSQL базы данных.
10. 24 марта Оконные функции в SQL и pyspark.
Домашнее задание
Сдача задач проводится в anytask, инвайты в закреплённом сообщении телеграм чата. Максимум за одно дз – 10 баллов, по решению проверяющего могут быть добавлены бонусные баллы за изящные решения. Указанный в anytask максимальный балл – чисто формальное ограничение, оно больше, чем наш максимум, ибо в него входят бонусные баллы.
Ваше задание может быть проверено и возвращено на доработку на усмотрение преподавателя.
1. numpy. Дедлайн 24.01.2023 10:30. Максимум без учёта бонусов – 10 баллов
2. pandas. Дедлайн 31.01.2023 10:30. Максимум без учёта бонусов – 10 баллов
3. join. Дедлайн 09.02.2023 10:30. Максимум без учёта бонусов – 10 баллов
4. visualization. Дедлайн 17.02.2023 13:00. Максимум без учёта бонусов – 10 баллов
5. sql. Дедлайн 28.02.2023 11:00. Максимум без учёта бонусов – 10 баллов
6. spark. Дедлайн 28.03.2023 12:00. Максимум без учёта бонусов – 10 баллов
ПРОЕКТ [бонус]. Написать на flask/django/любом другом python-фреймворке интернет магазин телефонов с использованием базы данных, с представлением товаров на странице в виде иконок и подробной карточкой для каждого товара (по образу и подобию лекции). Подумайте, какие характеристики товара нужно указывать. За корректную красивую реализацию с подходящим шаблоном и набором действий максимум можно получить 7 баллов. Реализуйте функционал сравнения телефонов, чтобы при этом было понятно, значение характеристики какого телефона лучше – максимум 3 балла. Проверьте, что если сузить окно браузера, то всё будет работать и сравнение не разъедется. В качестве данных достаточно 5-10 объявлений с картинками. Дедлайн 29.03.2023 23:59. Итого максимум без учёта бонусов – 10 баллов. Интересные идеи будут поощряться дополнительными баллами.
Оценивание
Накоп = МИНИМУМ((ДЗ1 + ДЗ2 + ДЗ3 + ДЗ4 + ДЗ5 + ДЗ6 + Пр) / 6, 10)
Итог = 0.7 * Накоп + 0.3 * экз
Автомат = Накоп если Накоп >= 6 и есть желание получить автомат
Рекомендуемая основная литература
1. Python для анализа данных – курс от МФТИ и Mail.Ru Group
2. Hadoop. Система для обработки больших объемов данных
3. Основы SQL – курс Андрея Созыкина
4. Курс Техносферы Методы распределенной обработки больших объемов данных в Hadoop
5. https://numpy.org/, https://pandas.pydata.org/, https://matplotlib.org/
Рекомендуемая дополнительная литература
1. https://mrjob.readthedocs.io/en/latest/
2. Devpractice Team. Python. Визуализация данных. Matplotlib. Seaborn. Mayavi.