Анализ данных на Python: различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
(Новая страница: «Дорогие студенты! Это страница обязательного курса «Анализ данных на Python», читаемого на...»)
 
 
(не показано 18 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
Дорогие студенты!
 
Дорогие студенты!
  
Это страница обязательного курса «Анализ данных на Python», читаемого на программе '''«Разработка информационных систем для бизнеса»'''
+
Это страница обязательного курса '''«Анализ данных на Python»''', читаемого на программе '''«Разработка информационных систем для бизнеса»'''
 
<br>2 курса бакалавриата в 4 модуле '''2024-2025''' учебного года.
 
<br>2 курса бакалавриата в 4 модуле '''2024-2025''' учебного года.
  
Строка 8: Строка 8:
 
== Правила игры ==
 
== Правила игры ==
  
* Формула оценки: '''0.6 × ДЗ + 0.15 × Активность + 0.25 × Тест'''.
+
Формула оценки: '''0.6 × ДЗ + 0.15 × Активность + 0.25 × Тест'''.
  
 
Пояснения:
 
Пояснения:
  
* ДЗ мини-проекты, посвященные анализу и визуализации данных, а также сбору и обработке данных.  
+
* '''ДЗ''': мини-проекты, посвященные анализу и визуализации данных, а также сбору и обработке данных.
* Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов: <br>опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%. <br>Домашние задания, сданные позже, не принимаются и не оцениваются.
+
* '''Активность''': участие в квизах, опросах и групповых заданиях на семинарах.
* Активность участие в квизах, опросах и групповых заданиях на семинарах.
+
* '''Тест''': итоговый тест с закрытыми и открытыми вопросами по обработке, визуализации и анализу данных.
* Тест итоговый тест с закрытыми и открытыми вопросами по обработке, визуализации и анализу данных.
+
* Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов: <br>опоздание в пределах часа – штраф 10% от оценки, в пределах суток – штраф 30%. <br>Домашние задания, сданные позже, не принимаются и не оцениваются.
 +
 
 +
== Среда для работы ==
 +
 
 +
Писать код Python на занятиях и рамках домашних заданий можно в любой среде (PyCharm, Jupyter Notebook, VS и другие).<br>На занятиях мы будем демонстрировать работу в Jupyter Notebook и PyCharm. Конспекты занятий с кодом будут опубликованы в виде ipynb-файлов на Github. Читать их можно онлайн, открывать с возможностью редактировать – преимущественно через Jupyter Notebook (в PyCharm их поддерживает только платная версия Professional).
 +
 
 +
* Если вы планируете работать в '''Jupyter Notebook''', проще всего установить дистрибутив '''Anaconda''' (скачать можно [https://www.anaconda.com/download здесь]), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду разработки Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс [https://colab.research.google.com/ Google Colab] (для создания и редактирования файлов нужен аккаунт Gmail). Подробности по работе см. ниже в неделе 0.
 +
 
 +
* Если вы планируете работать в '''PyCharm''', эту среду можно скачать по [https://www.jetbrains.com/pycharm/ ссылке], бесплатная версия Community.
 +
 
 +
== Материалы курса ==
 +
 
 +
=== Неделя 0. Про Python и Jupyter Notebook ===
 +
 
 +
* Запуск Jupyter без Anaconda Navigator ([https://disk.yandex.ru/i/w6yPaRbPcm8yyg инструкция]).
 +
* Работа в Jupyter Notebook ([https://disk.yandex.ru/i/2NYAqowJjmS2SA видео]), отличия Google Colab от Jupyter ([https://disk.yandex.ru/i/cGbacX28YtR08g видео]).
 +
 
 +
Дополнительно:
 +
 
 +
* Markdown: [https://gist.github.com/Jekins/2bf2d0638163f1294637 больше] про Markdown, знакомство с Jupyter Notebook и Markdown ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/intro-jupyter.ipynb читать], [http://allatambov.github.io/icef/seminars/intro-jupyter.ipynb ipynb]).
 +
 
 +
=== Неделя 1. Шкалы данных. Индексируемые структуры данных ===
 +
 
 +
* Шкалы данных ([https://disk.yandex.ru/i/H3K0M3bNHAjgjQ слайды]).
 +
* Индексируемые структуры данных (конспект [https://github.com/allatambov/PyPerm25/blob/main/01-types-structures.ipynb ipynb], код [https://github.com/allatambov/PyPerm25/blob/main/01-types-structures.py py]).
 +
* [https://pythontutor.com/render.html#mode=display Визуализатор] кода от Pythontutor.
 +
 
 +
=== Самостоятельное изучение 1 ===
 +
 
 +
* Описательные статистики ([https://disk.yandex.ru/d/KWNc7Bvqmlc3vw слайды]).
 +
* Цикл for и его аналоги ([https://github.com/allatambov/PyPerm25/blob/main/01-for-and-friends.ipynb ipynb]).
 +
 
 +
=== Неделя 2. Проверка статистических гипотез. Массивы NumPy ===
 +
 
 +
''Обратите внимание: внесены правки в слайды, чтобы логика вычисления статистик совпадала<br>с тем, что принято в функциях Python''
 +
''и общей практике (первая доля минус вторая, не наоборот).<br>''
 +
''Левосторонняя альтернатива H0: p1 < p2, правосторонняя – H1: p1 > p2.''
 +
 
 +
* Проверка статистических гипотез ([https://disk.yandex.ru/d/goVv-gUn-aId-Q слайды])
 +
* Примеры статистических тестов и массивы NumPy (конспект [https://github.com/allatambov/PyPerm25/blob/main/02-stat-tests-upd.ipynb ipynb], код [https://github.com/allatambov/PyPerm25/blob/main/02-stat-tests-upd.py py])
 +
* Выбор статистических тестов для разных задач ([https://github.com/allatambov/PyPerm25/blob/main/info-tests.ipynb ipynb])
 +
 
 +
Дополнительно:
 +
 
 +
* Выборочное оценивание ([https://disk.yandex.ru/d/Tst4_4tXGBpScA слайды])
 +
* [https://allatambov.github.io/twimc/descriptives.pdf Памятка] по описательным статистикам тут можно почитать поподробнее про ящик с усами.
 +
 
 +
=== Самостоятельное изучение 2 ===
 +
 
 +
* Еще немного про списки vs массивы: [https://github.com/allatambov/PyPerm25/blob/main/03-lists-arrays.ipynb ipynb]
 +
 
 +
=== Неделя 3. Словари и датафреймы Pandas ===
 +
 
 +
* Словарь, Pandas Series, Pandas DataFrame (конспект [https://github.com/allatambov/PyPerm25/blob/main/04-dicts-pandas.ipynb ipynb])
 +
* Работа с датафреймами: часть 1 (конспект [https://github.com/allatambov/PyPerm25/blob/main/04-pandas-part01.ipynb ipynb], данные [https://github.com/allatambov/PyPerm25/blob/main/ab_testing.csv ab_testing.csv.csv])
 +
* Работа с датафреймами: часть 2 (конспект [https://github.com/allatambov/PyPerm25/blob/main/04-pandas-part02.ipynb ipynb], данные [https://github.com/allatambov/PyPerm25/blob/main/hseteachers.csv hseteachers.csv])
 +
 
 +
Дополнительно:
 +
 
 +
* Палитра цветов: [https://coolors.co/palettes/trending coolors.co]
 +
* Про дату время в Python: [https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior документация]
 +
* API ВКонтакте: [https://dev.vk.com/ru/api/api-requests документация], [https://github.com/allatambov/WebScrape25/blob/main/vk-tokens-new.pdf инструкция] по получению доступа, пример выгрузки постов ([https://github.com/allatambov/WebScrape25/blob/main/psy-practice08-solutions.ipynb ipynb])
 +
 
 +
=== Неделя 4. Введение в визуализацию ===
 +
 
 +
* Визуализация данных ([https://disk.yandex.ru/d/UnB4OblNMloLKg слайды])
 +
* Разбор квиза по визуализации ([https://disk.yandex.ru/i/KIWSbUCwLC9Oaw видео])
 +
 
 +
== Домашние задания ==
 +
 
 +
* [https://github.com/allatambov/PyPerm25/blob/main/hw01.ipynb Домашнее задание №1], дедлайн 17 мая 23:59 (по Перми)
 +
* Домашнее задание №2
 +
* Домашнее задание №3

Текущая версия на 01:56, 1 мая 2025

Дорогие студенты!

Это страница обязательного курса «Анализ данных на Python», читаемого на программе «Разработка информационных систем для бизнеса»
2 курса бакалавриата в 4 модуле 2024-2025 учебного года.

Занятия ведут: Николаев Ян Андреевич, Тамбовцева Алла Андреевна.

Правила игры

Формула оценки: 0.6 × ДЗ + 0.15 × Активность + 0.25 × Тест.

Пояснения:

  • ДЗ: мини-проекты, посвященные анализу и визуализации данных, а также сбору и обработке данных.
  • Активность: участие в квизах, опросах и групповых заданиях на семинарах.
  • Тест: итоговый тест с закрытыми и открытыми вопросами по обработке, визуализации и анализу данных.
  • Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов:
    опоздание в пределах часа – штраф 10% от оценки, в пределах суток – штраф 30%.
    Домашние задания, сданные позже, не принимаются и не оцениваются.

Среда для работы

Писать код Python на занятиях и рамках домашних заданий можно в любой среде (PyCharm, Jupyter Notebook, VS и другие).
На занятиях мы будем демонстрировать работу в Jupyter Notebook и PyCharm. Конспекты занятий с кодом будут опубликованы в виде ipynb-файлов на Github. Читать их можно онлайн, открывать с возможностью редактировать – преимущественно через Jupyter Notebook (в PyCharm их поддерживает только платная версия Professional).

  • Если вы планируете работать в Jupyter Notebook, проще всего установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду разработки Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Подробности по работе – см. ниже в неделе 0.
  • Если вы планируете работать в PyCharm, эту среду можно скачать по ссылке, бесплатная версия Community.

Материалы курса

Неделя 0. Про Python и Jupyter Notebook

Дополнительно:

Неделя 1. Шкалы данных. Индексируемые структуры данных

Самостоятельное изучение 1

  • Описательные статистики (слайды).
  • Цикл for и его аналоги (ipynb).

Неделя 2. Проверка статистических гипотез. Массивы NumPy

Обратите внимание: внесены правки в слайды, чтобы логика вычисления статистик совпадала
с тем, что принято в функциях Python
и общей практике (первая доля минус вторая, не наоборот).
Левосторонняя альтернатива H0: p1 < p2, правосторонняя – H1: p1 > p2.

  • Проверка статистических гипотез (слайды)
  • Примеры статистических тестов и массивы NumPy (конспект ipynb, код py)
  • Выбор статистических тестов для разных задач (ipynb)

Дополнительно:

  • Выборочное оценивание (слайды)
  • Памятка по описательным статистикам – тут можно почитать поподробнее про ящик с усами.

Самостоятельное изучение 2

  • Еще немного про списки vs массивы: ipynb

Неделя 3. Словари и датафреймы Pandas

  • Словарь, Pandas Series, Pandas DataFrame (конспект ipynb)
  • Работа с датафреймами: часть 1 (конспект ipynb, данные ab_testing.csv.csv)
  • Работа с датафреймами: часть 2 (конспект ipynb, данные hseteachers.csv)

Дополнительно:

Неделя 4. Введение в визуализацию

  • Визуализация данных (слайды)
  • Разбор квиза по визуализации (видео)

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