Python для сбора и анализа данных КНАД — различия между версиями
Serggor (обсуждение | вклад) |
Mednik (обсуждение | вклад) м (Откат правок Seosky (обсуждение) к версии Serggor) |
||
(не показано 49 промежуточных версии 2 участников) | |||
Строка 2: | Строка 2: | ||
[https://t.me/+4tfRFJovFHZiOGMy телеграм-чат] | [https://t.me/+4tfRFJovFHZiOGMy телеграм-чат] | ||
+ | |||
+ | [https://www.youtube.com/playlist?list=PLEwK9wdS5g0oyrXHqe2FiyOHgX4tVFGcd Записи] | ||
==Лекции== | ==Лекции== | ||
Строка 7: | Строка 9: | ||
Четверг 9:30 – 10:50, [https://zoom.us/j/91089289265?pwd=QXhjcDVtWGMrSkNtN1BMWFNHclB4UT09 zoom] | Четверг 9:30 – 10:50, [https://zoom.us/j/91089289265?pwd=QXhjcDVtWGMrSkNtN1BMWFNHclB4UT09 zoom] | ||
− | 1. '''13 января | + | 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 января | + | 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 января | + | 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 обратная связь] | ||
Строка 24: | Строка 40: | ||
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 обратная связь] | 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]. Решение задач на применение функций к датафреймам, работу с несколькими датафреймами. Сравнение | + | 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 баллов, по решению проверяющего могут быть добавлены бонусные баллы за изящные решения. | + | Сдача задач проводится в [http://anytask.org/ anytask], инвайты в закреплённом сообщении телеграм чата. Максимум за одно дз – 10 баллов, по решению проверяющего могут быть добавлены бонусные баллы за изящные решения. Указанный в anytask максимальный балл – чисто формальное ограничение, оно больше, чем наш максимум, ибо в него входят бонусные баллы. ДЗ 3 разделено на две части, максимум за каждую часть без учета бонусов – 4 и 6 соответственно. |
Ваше задание может быть проверено и возвращено на доработку, если оно сдано заранее, хотя бы за двое суток до дедлайна, во всех остальных случаях на усмотрение преподавателя. | Ваше задание может быть проверено и возвращено на доработку, если оно сдано заранее, хотя бы за двое суток до дедлайна, во всех остальных случаях на усмотрение преподавателя. | ||
Строка 37: | Строка 66: | ||
2. [https://colab.research.google.com/drive/1CWFPDleJQdv_eG_yRYXBOs9Aj7-osVAG?usp=sharing pandas]. Дедлайн 30.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 | + | 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 баллов | ||
Строка 48: | Строка 85: | ||
3. [https://www.asozykin.ru/courses/sql Основы SQL – курс Андрея Созыкина] | 3. [https://www.asozykin.ru/courses/sql Основы SQL – курс Андрея Созыкина] | ||
− | 4. https://numpy.org/, https://pandas.pydata.org/, https://matplotlib.org/ | + | 4. [https://habr.com/ru/company/vk/blog/258045/ Курс Техносферы Методы распределенной обработки больших объемов данных в Hadoop] |
+ | |||
+ | 5. https://numpy.org/, https://pandas.pydata.org/, https://matplotlib.org/ | ||
Текущая версия на 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.