Python для сбора и анализа данных КНАД 22/23 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
 
(не показано 10 промежуточных версии этого же участника)
Строка 26: Строка 26:
  
 
8. '''28 февраля''' YARN [https://www.slideshare.net/Technopark/lecture-13-48215751 презентация], Hbase [https://www.slideshare.net/bbss88/12-hadoop-hbase-cassandra презентация]
 
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 код]
  
 
==Семинары==
 
==Семинары==
Строка 45: Строка 49:
 
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]  
 
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. '''24 февраля''' Решение задач на 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]  
+
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.
  
 
==Домашнее задание==
 
==Домашнее задание==
Строка 53: Строка 61:
 
Ваше задание может быть проверено и возвращено на доработку на усмотрение преподавателя.
 
Ваше задание может быть проверено и возвращено на доработку на усмотрение преподавателя.
  
1. [https://colab.research.google.com/drive/1xG9SKOsXwq0wFW5NBtnSw1B8odFcAU0y?usp=sharing numpy]. Дедлайн 24.01.2022 10:30. Максимум без учёта бонусов – 10 баллов
+
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 баллов
  
2. [https://colab.research.google.com/drive/1CWFPDleJQdv_eG_yRYXBOs9Aj7-osVAG?usp=sharing pandas]. Дедлайн 31.01.2022 10:30. Максимум без учёта бонусов – 10 баллов
+
4. [https://colab.research.google.com/drive/1dKV1Y4iYIJtM83vfA9tAU9ctKzGDF0To?usp=sharing visualization]. Дедлайн 17.02.2023 13:00. Максимум без учёта бонусов – 10 баллов
  
3. [https://colab.research.google.com/drive/1Y0L_dyTWsNpby35OfzDYBLWIN7vxy_sw?usp=sharing join]. Дедлайн 09.02.2022 10:30. Максимум без учёта бонусов – 10 баллов
+
5. [https://colab.research.google.com/drive/1vjSx5RHZKMYE_p6zt4qFPZeww8DH0Ipk?usp=sharing sql]. Дедлайн 28.02.2023 11:00. Максимум без учёта бонусов – 10 баллов
  
4. [https://colab.research.google.com/drive/1dKV1Y4iYIJtM83vfA9tAU9ctKzGDF0To?usp=sharing visualization]. Дедлайн 17.02.2022 13:00. Максимум без учёта бонусов – 10 баллов
+
6. [https://colab.research.google.com/drive/17ZmTDTW78aoaXA-6KztTL7Dk1yfwXnNF?usp=sharing spark]. Дедлайн 28.03.2023 12:00. Максимум без учёта бонусов – 10 баллов
  
5. [https://colab.research.google.com/drive/1vjSx5RHZKMYE_p6zt4qFPZeww8DH0Ipk?usp=sharing sql]. Дедлайн 28.02.2022 11: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 (Михаил)

GitHub 222 группы (Денис)

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.

3. https://vk.com/itcookies/python

4. О функции apply в pandas