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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (Откат правок Seosky (обсуждение) к версии Serggor)
 
(не показано 78 промежуточных версии 2 участников)
Строка 1: Строка 1:
 
'''Преподаватели:'''  [https://www.hse.ru/org/persons/307352167 С.С. Горшков] [https://www.hse.ru/staff/gordenko М.К. Горденко] [https://istina.msu.ru/workers/361827403/ И.В. Иванов]
 
'''Преподаватели:'''  [https://www.hse.ru/org/persons/307352167 С.С. Горшков] [https://www.hse.ru/staff/gordenko М.К. Горденко] [https://istina.msu.ru/workers/361827403/ И.В. Иванов]
 +
 +
[https://t.me/+4tfRFJovFHZiOGMy телеграм-чат]
 +
 +
[https://www.youtube.com/playlist?list=PLEwK9wdS5g0oyrXHqe2FiyOHgX4tVFGcd Записи]
  
 
==Лекции==
 
==Лекции==
  
Четверг 9:30 – 10:50, [https://zoom.us/j/91089289265?pwd=QXhjcDVtWGMrSkNtN1BMWFNHclB4UT09 zoom link]
+
Четверг 9:30 – 10:50, [https://zoom.us/j/91089289265?pwd=QXhjcDVtWGMrSkNtN1BMWFNHclB4UT09 zoom]
 +
 
 +
1. '''13 января''' Модуль numpy. Основные операции для работы с numpy.array. [https://docs.google.com/presentation/d/1GftHqEgq6HT30LDqeteEuPQos3gamPQN8IqZiymnHd0/edit?usp=sharing презентация] [https://colab.research.google.com/drive/1ji_2UDhQFlvq6sDUm6XObR8IGg-KCCM9?usp=sharing colab] [https://forms.gle/QsocrP7nnKuKsSak6 обратная связь]
 +
 
 +
2.  '''20 января''' Модуль pandas. [https://colab.research.google.com/drive/1nd2r3t85U2jGrdms4z0WJ2UPW1G-YsPE?usp=sharing pandas1], [https://colab.research.google.com/drive/1RkmTX9RqT-qtdMMlUY_nBrPB_UO7ehU5?usp=sharing pandas2] [https://forms.gle/j8ZiGuC4GeV75Tmu8 обратная связь]
 +
 
 +
3. '''27 января''' Вопросы производительности. GIL. Работа в Pandas с несколькими таблицами [https://docs.google.com/presentation/d/1y6O6oh1QlT1kJFPQxM8Kn8xyrnl8_Q1SwCin15ZnkAg/edit?usp=sharing презентация] [https://forms.gle/PDuWh2xDUhbtW3799 обратная связь]
 +
 
 +
4. '''3 февраля''' Визуализация данных в Python [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]  [https://forms.gle/PDuWh2xDUhbtW3799 обратная связь]
 +
 
 +
5. '''10 февраля''' Представление о реляционных базах данных. Основы языка SQL. Работа с таблицами в MySQL. [https://docs.google.com/presentation/d/1YdAPe58zXrmniRbPnE3jRvXcxAgkDpVMouAi5CpVqV4/edit?usp=sharing презентация] [https://www.asozykin.ru/courses/sql источник вдохновения] [https://disk.yandex.ru/d/lKQKrdef4sDzIg скрипт для создания БД для MySQL с лекции] [https://forms.gle/PDuWh2xDUhbtW3799 обратная связь]
 +
 
 +
6. '''17 февраля''' Общее представление о MapReduce задачах, экосистеме Hadoop, HDFS [https://docs.google.com/presentation/d/1pDJ4nzHIpkUQo1e5AxMc6tZLV6Ut-0KCxGneuyUs9FQ/edit?usp=sharing презентация] [https://forms.gle/PDuWh2xDUhbtW3799 обратная связь]
 +
 
 +
7. '''24 февраля''' Spark [https://www.slideshare.net/Technopark/lecture-12-48215750 презентация техносферы] [https://forms.gle/PDuWh2xDUhbtW3799 обратная связь]
 +
 
 +
8. '''10 марта''' Flask [https://docs.google.com/presentation/d/1_AP06H8eUxkeSILB6obSUNdr8El9iv_kmAi7y4OxLEs/edit?usp=sharing презентация] [https://disk.yandex.ru/d/5eAXYYwYzPLVwQ код (post, posts – уже семинар, upd: post-edit, post-delete)] [https://forms.gle/PDuWh2xDUhbtW3799 обратная связь]
 +
 
 +
9. '''14 марта''' Docker. [https://docs.google.com/presentation/d/13J1XPo18P2LBq_1WNuUgKUBQVvTAQosKZYpa6gsvYKk/edit#slide=id.p1 презентация] [https://forms.gle/PDuWh2xDUhbtW3799 обратная связь]
 +
 
 +
10. '''21 марта''' Kubernetes [https://disk.yandex.ru/i/n9bcudWg6RMT_g презентация] [https://forms.gle/PDuWh2xDUhbtW3799 обратная связь]
 +
 
 +
 
 +
==Семинары==
 +
 
 +
БКНАД211: Четверг 11:10 – 12:30, [https://zoom.us/j/93939699889?pwd=OThPSUtkeVRQT3ZjQmR1ZGJibWtkUT09 zoom]
 +
 
 +
БКНАД212: Пятница 11:10 – 12:30, [https://zoom.us/j/94304998561?pwd=c04vQksxR21pakxnbjFDWmc2NnlNdz09 zoom]
 +
 
 +
1. '''13/14 января''' Решение задач на numpy. [https://colab.research.google.com/drive/155WuSxzImI0rAEZyj3_BLjCfE__n1ya7?usp=sharing colab211] [https://forms.gle/LLZY2P2XfcUMHnex9 обратная связь]
 +
 
 +
2. '''20/21 января''' Решение задач на pandas.Series [https://colab.research.google.com/drive/1Xw1EctrkMbr60YMBc6nhY1Z67vLKxeUQ?usp=sharing pandas1-211], [https://replit.com/join/kknugpyvqj-sierghieigorshk repl_invite-211] [https://forms.gle/u4KjWdPfSzb7bnFL9 обратная связь]
 +
 
 +
3. '''27/28 января''' [https://colab.research.google.com/drive/1T1njeWLQfkViLrF27G-JYS7ebkwxGioX?usp=sharing magic в jupyter]. Решение задач на применение функций к датафреймам, работу с несколькими датафреймами. Сравнение производительности операций [https://colab.research.google.com/drive/117i2k1t5dKt0plS7GEpnJEtA43ie05kx?usp=sharing задачи] [https://replit.com/join/vwxgnwcdre-sierghieigorshk repl-invite211 ] [https://forms.gle/rzcVHqdKq8Pa5QAWA обратная связь]
 +
 
 +
4. '''3/4 февраля''' Практика построения визуализаций с помощью matplotlib и plotly [https://colab.research.google.com/drive/1XL-pkSCZ1lJ8lCxF2aBRGYQtiJlySUfl?usp=sharing visualization] [https://replit.com/join/vwxgnwcdre-sierghieigorshk repl-invite211 (с 3 семинара)] [https://colab.research.google.com/drive/1CEgSMfYSNyXDDxictr7ODtpl3HFNhT1Y?usp=sharing решения] [https://forms.gle/rzcVHqdKq8Pa5QAWA обратная связь]
 +
 
 +
5. '''10/11 февраля''' Практика работы с 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] [https://replit.com/join/uegrfmfcoi-sierghieigorshk repl with SQLite version & some solutions] [https://forms.gle/rzcVHqdKq8Pa5QAWA обратная связь]
 +
 
 +
6. '''17/18 февраля''' Решение задач на MapReduce с использованием python-библиотеки mrjob [https://docs.google.com/presentation/d/1pDJ4nzHIpkUQo1e5AxMc6tZLV6Ut-0KCxGneuyUs9FQ/edit#slide=id.g115aabdacb8_0_166 tasks] [https://disk.yandex.ru/d/2a1VxyxscTJZRg code] [https://forms.gle/rzcVHqdKq8Pa5QAWA обратная связь]
 +
 
 +
7. '''24/25 февраля''' Решение задач на 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] [https://forms.gle/rzcVHqdKq8Pa5QAWA обратная связь]
 +
 
 +
8. '''10/11 марта''' Написание приложения на flask. Написать интернет магазин телефонов, с представлением товаров на странице в виде иконок и подробной карточкой для каждого товара. Достаточно 5-10 объявлений с картинками [https://stackoverflow.com/questions/55713664/sqlalchemy-best-way-to-define-repr-for-large-tables зачем нужен repr] [https://forms.gle/rzcVHqdKq8Pa5QAWA обратная связь]
 +
 
 +
9. '''14/16 марта''' Написание Docker-файла к flask-приложению. [https://github.com/lvthillo/python-flask-docker простейшее приложение на flask] [https://disk.yandex.ru/d/-rVMz4XxpsPgAQ файлы docker] [https://forms.gle/rzcVHqdKq8Pa5QAWA обратная связь]
 +
 
 +
10. '''21/23 марта''' Практика Kubernetes [https://colab.research.google.com/drive/1QEG0YPX_bxb-1PVPHw1huGbFyBqcdu-n?usp=sharing команды] [https://forms.gle/rzcVHqdKq8Pa5QAWA обратная связь]
 +
 
 +
==Домашнее задание==
 +
 
 +
Сдача задач проводится в [http://anytask.org/ anytask], инвайты в закреплённом сообщении телеграм чата. Максимум за одно дз – 10 баллов, по решению проверяющего могут быть добавлены бонусные баллы за изящные решения. Указанный в anytask максимальный балл – чисто формальное ограничение, оно больше, чем наш максимум, ибо в него входят бонусные баллы. ДЗ 3 разделено на две части, максимум за каждую часть без учета бонусов – 4 и 6 соответственно.
 +
 
 +
Ваше задание может быть проверено и возвращено на доработку, если оно сдано заранее, хотя бы за двое суток до дедлайна, во всех остальных случаях на усмотрение преподавателя.
 +
 
 +
1. [https://colab.research.google.com/drive/1xG9SKOsXwq0wFW5NBtnSw1B8odFcAU0y?usp=sharing numpy]. Дедлайн 23.01.2022 23:59. Максимум без учёта бонусов – 10 баллов
 +
 
 +
2. [https://colab.research.google.com/drive/1CWFPDleJQdv_eG_yRYXBOs9Aj7-osVAG?usp=sharing pandas]. Дедлайн 30.01.2022 23:59. Максимум без учёта бонусов – 10 баллов
 +
 
 +
3. [https://colab.research.google.com/drive/1Y0L_dyTWsNpby35OfzDYBLWIN7vxy_sw?usp=sharing join]. Дедлайн 10.02.2022 23:59. Максимум без учёта бонусов – 10 баллов
 +
 
 +
5. [https://colab.research.google.com/drive/1dKV1Y4iYIJtM83vfA9tAU9ctKzGDF0To?usp=sharing visualization]. Дедлайн 18.02.2022 20:59. Максимум без учёта бонусов – 10 баллов
 +
 
 +
4. [https://disk.yandex.ru/d/xSr8HPeOiHfxCg sql]. Дедлайн 01.03.2022 01:59. Максимум без учёта бонусов – 10 баллов
 +
 
 +
6. [https://disk.yandex.ru/d/u4EFgCJbIq8nUA docker]. Дедлайн 26.03.2022 23:59. Максимум без учёта бонусов – 10 баллов
 +
 
 +
ПРОЕКТ [бонус]. Написать на flask интернет магазин телефонов с использованием базы данных, с представлением товаров на странице в виде иконок и подробной карточкой для каждого товара (по образу и подобию лекции). Подумайте, какие характеристики товара нужно указывать. За корректную красивую реализацию с подходящим шаблоном и набором действий максимум можно получить 7 баллов. Реализуйте функционал сравнения телефонов, при этом чтобы было понятно, значение характеристики какого телефона лучше – максимум 3 балла. Проверьте, что если сузить окно браузера, то всё будет работать и сравнение не разъедется. В качестве данных достаточно 5-10 объявлений с картинками. Дедлайн 20.03.2022 23:59. Итого максимум без учёта бонусов – 10 баллов
 +
 
 +
 
 +
==Рекомендуемая основная литература==
 +
 
 +
1. [https://www.coursera.org/learn/python-for-data-science Python для анализа данных – курс от МФТИ и Mail.Ru Group]
 +
 
 +
2. [https://stepik.org/course/150/syllabus Hadoop. Система для обработки больших объемов данных] 
 +
 
 +
3. [https://www.asozykin.ru/courses/sql Основы SQL – курс Андрея Созыкина]
 +
 
 +
4. [https://habr.com/ru/company/vk/blog/258045/ Курс Техносферы Методы распределенной обработки больших объемов данных в 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
  
1. '''13 января.''' Модуль numpy. Основные операции для работы с numpy.array. Сравнение производительности списков в Python и numpy.array, циклов и векторных операций с numpy.array. Продвинутые возможности работы с Jupyter notebook. Поддержка работы с различными версиями библиотек: повторение pip и virtualenv. [https://docs.google.com/presentation/d/1GftHqEgq6HT30LDqeteEuPQos3gamPQN8IqZiymnHd0/edit?usp=sharing презентация] [https://colab.research.google.com/drive/1ji_2UDhQFlvq6sDUm6XObR8IGg-KCCM9?usp=sharing colab]
+
4. [https://towardsdatascience.com/apply-function-to-pandas-dataframe-rows-76df74165ee4 О функции apply в pandas]

Текущая версия на 13:36, 26 августа 2022

Преподаватели: С.С. Горшков М.К. Горденко И.В. Иванов

телеграм-чат

Записи

Лекции

Четверг 9:30 – 10:50, zoom

1. 13 января Модуль numpy. Основные операции для работы с numpy.array. презентация colab обратная связь

2. 20 января Модуль pandas. pandas1, pandas2 обратная связь

3. 27 января Вопросы производительности. GIL. Работа в Pandas с несколькими таблицами презентация обратная связь

4. 3 февраля Визуализация данных в Python matplotlib1 matplotlib2 pandas_plot plotly seaborn обратная связь

5. 10 февраля Представление о реляционных базах данных. Основы языка SQL. Работа с таблицами в MySQL. презентация источник вдохновения скрипт для создания БД для MySQL с лекции обратная связь

6. 17 февраля Общее представление о MapReduce задачах, экосистеме Hadoop, HDFS презентация обратная связь

7. 24 февраля Spark презентация техносферы обратная связь

8. 10 марта Flask презентация код (post, posts – уже семинар, upd: post-edit, post-delete) обратная связь

9. 14 марта Docker. презентация обратная связь

10. 21 марта Kubernetes презентация обратная связь


Семинары

БКНАД211: Четверг 11:10 – 12:30, zoom

БКНАД212: Пятница 11:10 – 12:30, zoom

1. 13/14 января Решение задач на numpy. colab211 обратная связь

2. 20/21 января Решение задач на pandas.Series pandas1-211, repl_invite-211 обратная связь

3. 27/28 января magic в jupyter. Решение задач на применение функций к датафреймам, работу с несколькими датафреймами. Сравнение производительности операций задачи repl-invite211 обратная связь

4. 3/4 февраля Практика построения визуализаций с помощью matplotlib и plotly visualization repl-invite211 (с 3 семинара) решения обратная связь

5. 10/11 февраля Практика работы с SQL архив с заданием, источник архива (если авторские права, все дела) online editor repl with SQLite version & some solutions обратная связь

6. 17/18 февраля Решение задач на MapReduce с использованием python-библиотеки mrjob tasks code обратная связь

7. 24/25 февраля Решение задач на pySpark tasks colab Сравнение RDD и DataFrame обратная связь

8. 10/11 марта Написание приложения на flask. Написать интернет магазин телефонов, с представлением товаров на странице в виде иконок и подробной карточкой для каждого товара. Достаточно 5-10 объявлений с картинками зачем нужен repr обратная связь

9. 14/16 марта Написание Docker-файла к flask-приложению. простейшее приложение на flask файлы docker обратная связь

10. 21/23 марта Практика Kubernetes команды обратная связь

Домашнее задание

Сдача задач проводится в anytask, инвайты в закреплённом сообщении телеграм чата. Максимум за одно дз – 10 баллов, по решению проверяющего могут быть добавлены бонусные баллы за изящные решения. Указанный в anytask максимальный балл – чисто формальное ограничение, оно больше, чем наш максимум, ибо в него входят бонусные баллы. ДЗ 3 разделено на две части, максимум за каждую часть без учета бонусов – 4 и 6 соответственно.

Ваше задание может быть проверено и возвращено на доработку, если оно сдано заранее, хотя бы за двое суток до дедлайна, во всех остальных случаях на усмотрение преподавателя.

1. numpy. Дедлайн 23.01.2022 23:59. Максимум без учёта бонусов – 10 баллов

2. pandas. Дедлайн 30.01.2022 23:59. Максимум без учёта бонусов – 10 баллов

3. join. Дедлайн 10.02.2022 23:59. Максимум без учёта бонусов – 10 баллов

5. visualization. Дедлайн 18.02.2022 20:59. Максимум без учёта бонусов – 10 баллов

4. sql. Дедлайн 01.03.2022 01:59. Максимум без учёта бонусов – 10 баллов

6. docker. Дедлайн 26.03.2022 23:59. Максимум без учёта бонусов – 10 баллов

ПРОЕКТ [бонус]. Написать на flask интернет магазин телефонов с использованием базы данных, с представлением товаров на странице в виде иконок и подробной карточкой для каждого товара (по образу и подобию лекции). Подумайте, какие характеристики товара нужно указывать. За корректную красивую реализацию с подходящим шаблоном и набором действий максимум можно получить 7 баллов. Реализуйте функционал сравнения телефонов, при этом чтобы было понятно, значение характеристики какого телефона лучше – максимум 3 балла. Проверьте, что если сузить окно браузера, то всё будет работать и сравнение не разъедется. В качестве данных достаточно 5-10 объявлений с картинками. Дедлайн 20.03.2022 23:59. Итого максимум без учёта бонусов – 10 баллов


Рекомендуемая основная литература

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