Python для сбора и анализа данных КНАД 22/23 — различия между версиями
Serggor (обсуждение | вклад) |
Serggor (обсуждение | вклад) |
||
(не показано 20 промежуточных версии этого же участника) | |||
Строка 18: | Строка 18: | ||
4. '''31 января''' Визуализация данных в Python [https://colab.research.google.com/drive/1T1njeWLQfkViLrF27G-JYS7ebkwxGioX?usp=sharing magic в jupyter] [https://colab.research.google.com/drive/1RpHTrG6KYo26af8OoIRHrcnJcsOcWGMT?usp=sharing matplotlib1] [https://colab.research.google.com/drive/1ozGNbCPTJ23wE9gXWVswT7ikCK73JJjL?usp=sharing matplotlib2] [https://colab.research.google.com/drive/1rMBLCIIJLPCD9mLKSXgmnaYj33dxuoQt?usp=sharing pandas_plot] [https://colab.research.google.com/drive/1rcr8nLmpKjCxK8MtzLrYld4u4Vr2RoNY?usp=sharing plotly] [https://colab.research.google.com/drive/1X6PA89UHuz4n4zGamIqAu0orESROcoI4?usp=sharing seaborn] | 4. '''31 января''' Визуализация данных в Python [https://colab.research.google.com/drive/1T1njeWLQfkViLrF27G-JYS7ebkwxGioX?usp=sharing magic в jupyter] [https://colab.research.google.com/drive/1RpHTrG6KYo26af8OoIRHrcnJcsOcWGMT?usp=sharing matplotlib1] [https://colab.research.google.com/drive/1ozGNbCPTJ23wE9gXWVswT7ikCK73JJjL?usp=sharing matplotlib2] [https://colab.research.google.com/drive/1rMBLCIIJLPCD9mLKSXgmnaYj33dxuoQt?usp=sharing pandas_plot] [https://colab.research.google.com/drive/1rcr8nLmpKjCxK8MtzLrYld4u4Vr2RoNY?usp=sharing plotly] [https://colab.research.google.com/drive/1X6PA89UHuz4n4zGamIqAu0orESROcoI4?usp=sharing seaborn] | ||
+ | |||
+ | 5. '''7 февраля''' Общее представление о MapReduce задачах, экосистеме Hadoop, HDFS [https://docs.google.com/presentation/d/1pDJ4nzHIpkUQo1e5AxMc6tZLV6Ut-0KCxGneuyUs9FQ/edit?usp=sharing презентация] | ||
+ | |||
+ | 6. '''14 февраля''' Представление о реляционных базах данных. Основы языка SQL. Работа с таблицами в MySQL. [https://docs.google.com/presentation/d/14g4OHrgpVYGG7f5XZX-E0PBdptOFCCbAGDfq3IZIqdY/edit?usp=drivesdk презентация] [https://www.asozykin.ru/courses/sql источник вдохновения] [https://disk.yandex.ru/d/lKQKrdef4sDzIg скрипт для создания БД для MySQL] | ||
+ | |||
+ | 7. '''21 февраля''' Spark [https://www.slideshare.net/Technopark/lecture-12-48215750 презентация техносферы] | ||
+ | |||
+ | 8. '''28 февраля''' YARN [https://www.slideshare.net/Technopark/lecture-13-48215751 презентация], Hbase [https://www.slideshare.net/bbss88/12-hadoop-hbase-cassandra презентация] | ||
+ | |||
+ | 9. '''7 марта''' Написание веб-приложения на Flask [https://disk.yandex.ru/d/Zy7ubJd4s9mLzw код] | ||
+ | |||
+ | 10. '''24 марта''' Базы данных: индексы, ограничения, представления, транзакции, ACID [https://docs.google.com/presentation/d/1plMIgV3joJRJY87gIfVzjKIMNg4SkSCcGVVSdICklPs/edit?usp=sharing презентация] [https://colab.research.google.com/drive/1S-bn6YEVXZinOPgqbve1FOG_wCe10RwE?usp=sharing код] | ||
==Семинары== | ==Семинары== | ||
Строка 31: | Строка 43: | ||
3. '''27 января''' Решение задач на pandas. Решение задач на применение функций к датафреймам, работу с несколькими датафреймами. Сравнение производительности операций [https://colab.research.google.com/drive/117i2k1t5dKt0plS7GEpnJEtA43ie05kx?usp=sharing задачи] | 3. '''27 января''' Решение задач на pandas. Решение задач на применение функций к датафреймам, работу с несколькими датафреймами. Сравнение производительности операций [https://colab.research.google.com/drive/117i2k1t5dKt0plS7GEpnJEtA43ie05kx?usp=sharing задачи] | ||
− | 4. '''3 февраля''' Практика построения визуализаций с помощью matplotlib | + | 4. '''3 февраля''' Практика построения визуализаций с помощью matplotlib [https://colab.research.google.com/drive/1XL-pkSCZ1lJ8lCxF2aBRGYQtiJlySUfl?usp=sharing задачи] |
+ | 5. '''10 февраля''' Практика построения визуализаций с помощью plotly. Знакомство с mrjob [https://docs.google.com/presentation/d/1pDJ4nzHIpkUQo1e5AxMc6tZLV6Ut-0KCxGneuyUs9FQ/edit#slide=id.g115aabdacb8_0_166 tasks] [https://disk.yandex.ru/d/2a1VxyxscTJZRg code] | ||
+ | |||
+ | 6. '''17 февраля''' Практика работы с SQL [https://disk.yandex.ru/d/LIuVS63qDlFYow архив с заданием], [https://www.coursera.org/learn/python-for-web/programming/L7SA9/praktichieskoie-zadaniie-po-mysql/instructions источник архива (если авторские права, все дела)] [https://paiza.io/en/languages/mysql online editor] | ||
+ | |||
+ | 7-8. '''3, 10 марта''' Решение задач на pySpark [https://towardsdatascience.com/six-spark-exercises-to-rule-them-all-242445b24565 tasks] [https://colab.research.google.com/drive/1MbboO_wp1dD2gunn0CF_IdJeQRZxnoHx?usp=sharing colab] [https://www.bigdataschool.ru/blog/what-to-use-in-spark-rdd-vs-dataframe-vs-dataset.html Сравнение RDD и DataFrame] | ||
+ | |||
+ | 9. '''17 марта''' Миграции в базах данных, redis как пример NoSQL базы данных. | ||
+ | |||
+ | 10. '''24 марта''' Оконные функции в SQL и pyspark. | ||
==Домашнее задание== | ==Домашнее задание== | ||
Строка 40: | Строка 61: | ||
Ваше задание может быть проверено и возвращено на доработку на усмотрение преподавателя. | Ваше задание может быть проверено и возвращено на доработку на усмотрение преподавателя. | ||
− | 1. [https://colab.research.google.com/drive/1xG9SKOsXwq0wFW5NBtnSw1B8odFcAU0y?usp=sharing numpy]. Дедлайн 24.01. | + | 1. [https://colab.research.google.com/drive/1xG9SKOsXwq0wFW5NBtnSw1B8odFcAU0y?usp=sharing numpy]. Дедлайн 24.01.2023 10:30. Максимум без учёта бонусов – 10 баллов |
+ | |||
+ | 2. [https://colab.research.google.com/drive/1CWFPDleJQdv_eG_yRYXBOs9Aj7-osVAG?usp=sharing pandas]. Дедлайн 31.01.2023 10:30. Максимум без учёта бонусов – 10 баллов | ||
+ | |||
+ | 3. [https://colab.research.google.com/drive/1Y0L_dyTWsNpby35OfzDYBLWIN7vxy_sw?usp=sharing join]. Дедлайн 09.02.2023 10:30. Максимум без учёта бонусов – 10 баллов | ||
+ | |||
+ | 4. [https://colab.research.google.com/drive/1dKV1Y4iYIJtM83vfA9tAU9ctKzGDF0To?usp=sharing visualization]. Дедлайн 17.02.2023 13:00. Максимум без учёта бонусов – 10 баллов | ||
− | + | 5. [https://colab.research.google.com/drive/1vjSx5RHZKMYE_p6zt4qFPZeww8DH0Ipk?usp=sharing sql]. Дедлайн 28.02.2023 11:00. Максимум без учёта бонусов – 10 баллов | |
− | + | 6. [https://colab.research.google.com/drive/17ZmTDTW78aoaXA-6KztTL7Dk1yfwXnNF?usp=sharing spark]. Дедлайн 28.03.2023 12:00. Максимум без учёта бонусов – 10 баллов | |
− | + | ПРОЕКТ [бонус]. Написать на flask/django/любом другом python-фреймворке интернет магазин телефонов с использованием базы данных, с представлением товаров на странице в виде иконок и подробной карточкой для каждого товара (по образу и подобию лекции). Подумайте, какие характеристики товара нужно указывать. За корректную красивую реализацию с подходящим шаблоном и набором действий максимум можно получить 7 баллов. Реализуйте функционал сравнения телефонов, чтобы при этом было понятно, значение характеристики какого телефона лучше – максимум 3 балла. Проверьте, что если сузить окно браузера, то всё будет работать и сравнение не разъедется. В качестве данных достаточно 5-10 объявлений с картинками. Дедлайн 29.03.2023 23:59. Итого максимум без учёта бонусов – 10 баллов. Интересные идеи будут поощряться дополнительными баллами. | |
==Оценивание== | ==Оценивание== |
Текущая версия на 04:03, 10 февраля 2024
Содержание
Записи занятий
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.