Аналіз даних з використанням Python

Вибіркова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5.
Кількість аудиторних занять: 
Лекційних занять - 15, лабораторних занять 7.
Самостійна робота: 
91 година.
Семестровий контроль: 
Залік.
Освітню компоненту забезпечує: 
Анотація: 

Анотація навчальної дисципліни
Курс "Аналіз даних з використанням Python" призначений для опанування основ аналізу даних за допомогою мови програмування Python та її ключових бібліотек NumPy та Pandas. 
Перша частина курсу присвячена основам NumPy. Вивчаються базові концепції аналізу даних на Python, робота з різними структурами даних (кортежі, списки, словники), основи роботи з бібліотекою NumPy для наукових обчислень, операції з масивами, логічна індексація.
Друга частина курсу присвячена використанню бібліотеки Pandas. Вивчається робота з Series та DataFrame, читання, фільтрація та сортування даних, операції об'єднання та конкатенації даних, групування даних та створення зведених таблиць.
Важливим компонентом курсу є вивчення методів візуалізації даних за допомогою бібліотеки Matplotlib. Студенти опанують створення різних типів графіків та діаграм, налаштування їх параметрів, побудову складних візуалізацій з кількома підграфіками та інтерактивних графічних представлень даних. Особлива увага приділяється створенню інформативних та естетично привабливих візуалізацій для ефективного представлення результатів аналізу.
В рамках практичних занять розглядаються реальні набори даних (зокрема дані мобільного оператора та pokemon dataset). Аналізується діяльності клієнтів онлайн-бібліотеки та продажі відеоігор у різних регіонах світу. Використовується середовище розробки Google Colab.
Курс має практичну спрямованість. Особлива увага приділяється роботі з реальними даними та розв'язанню прикладних задач аналізу даних.

Тематика та види навчальних занять

Для денної форми здобуття освіти

Лекційні заняття
Лекція 1. «Вступ до аналізу даних та Python. Налаштування середовища Google Colab».
Лекція 2. «Основи роботи з NumPy. Створення та властивості масивів. Атрибути та методи ndarray. Типи даних у NumPy».
Лекція 3. «Операції з масивами NumPy. Арифметичні та логічні операції. Універсальні функції (ufunc). Broadcasting».
Лекція 4. «Індексація та слайсинг у NumPy. Базова, логічна та fancy індексація».
Лекція 5. «Лінійна алгебра з NumPy. Матричні операції. Розв'язання систем рівнянь. Власні значення та вектори».
Лекція 6. «Вступ до Pandas. Структура даних Series. Структура даних DataFrame. Основні операції».
Лекція 7. «Завантаження та експорт даних у Pandas. Робота з CSV, Excel, JSON. Опції читання файлів. Збереження даних».
Лекція 8. «Індексація та вибірка даних у Pandas. loc та iloc індексатори. Булева індексація. Багаторівневі індекси».
Лекція 9. «Обробка пропущених даних. Виявлення відсутніх значень. Методи заповнення. Стратегії обробки».
Лекція 10. «Трансформація даних у Pandas. Фільтрація та сортування. Злиття та об'єднання датафреймів. Перетворення типів даних».
Лекція 11. «Агрегація даних. Групування даних. Функції агрегації. Зведені таблиці (pivot tables)».
Лекція 12. «Основи візуалізації з Matplotlib. Базові графіки. Налаштування стилів. Кастомізація графіків».
Лекція 13. «Розширені можливості Matplotlib. Множинні графіки. Підграфіки. Анімація».
Лекція 14. «Статистичний аналіз даних. Описова статистика. Кореляційний аналіз. Візуалізація статистичних даних».
Лекція 15. «Часові ряди в Pandas. Робота з датами та часом. Ресемплінг та вікна. Аналіз часових рядів».

Лабораторні заняття
Лабораторна робота №1. "Основи Python та налаштування середовища Google Colab" 
Мета заняття: Ознайомитися з середовищем Google Colab, освоїти базові структури даних Python та основи роботи з NumPy масивами. Навчитися створювати та виконувати Jupyter notebooks.
Лабораторна робота №2. "Операції та індексація в NumPy" 
Мета заняття: Опанувати методи індексації та слайсингу в NumPy, навчитися використовувати логічні маски та fancy індексацію для аналізу даних. Освоїти методи математичних операцій з масивами.
Лабораторна робота №3. "Математичний аналіз даних та основи Pandas" 
Мета заняття: Навчитися працювати з матрицями та системами рівнянь у NumPy, освоїти основи роботи з Series та DataFrame у Pandas. Ознайомитися з базовими методами аналізу даних.
Лабораторна робота №4. "Завантаження та обробка даних з використанням Pandas" 
Мета заняття: Освоїти методи завантаження даних з різних джерел, навчитися виконувати базову фільтрацію та індексацію даних, опанувати техніки обробки пропущених значень у реальних наборах даних.
Лабораторна робота №5. "Методи трансформації та агрегації даних" 
Мета заняття: Навчитися об'єднувати дані з різних джерел, виконувати групування та агрегацію даних, створювати зведені таблиці для аналізу. Освоїти методи трансформації даних для подальшого аналізу.
Лабораторна робота №6. "Візуалізація даних з використанням Matplotlib" 
Мета заняття: Опанувати методи створення різних типів графіків та діаграм, навчитися налаштовувати параметри візуалізації, освоїти роботу з підграфіками та складними візуальними представленнями даних.
Лабораторна робота №7. "Комплексний аналіз даних та статистичні методи" 
Мета заняття: Навчитися проводити повний цикл аналізу даних від завантаження до візуалізації результатів, освоїти базові статистичні методи аналізу, опанувати техніки аналізу часових рядів та представлення результатів.

Для заочної форми здобуття освіти

Лекційні заняття
Лекція 1. «Основи аналізу даних з Python. Бібліотека NumPy. Основні структури даних Python. Робота з NumPy масивами. Індексація та операції з масивами. Математичні операції в NumPy»
Лекція 2. «Аналіз даних з Pandas та візуалізація. Структури даних Pandas: Series та DataFrame. Завантаження та обробка даних. Групування та агрегація. Візуалізація даних з Matplotlib»

Лабораторні заняття
Лабораторна робота №1. "Основи роботи з NumPy та Pandas"
Мета заняття: Ознайомитися з середовищем Google Colab та бібліотеками NumPy і Pandas. Навчитися працювати з масивами даних, виконувати базові операції з DataFrame, здійснювати індексацію та фільтрацію даних.
Лабораторна робота №2. "Аналіз та візуалізація даних"
Мета заняття: Освоїти методи групування та агрегації даних у Pandas, навчитися створювати візуалізації з використанням Matplotlib, виконати комплексний аналіз реального набору даних з візуальним представленням результатів.
 
Консультації здійснюються впродовж семестру згідно встановленого розкладу.

 Індивідуальна робота

Для денної форми здобуття освіти
Не передбачено

Для заочної форми здобуття освіти
Виконання індивідуальних завдань

 Форми контрольних заходів та оцінювання результатів навчання

Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.

Для денної форми здобуття освіти
Опитування на лекціях, перевірка лабораторних робіт, модульні контрольні роботи, залік

Модуль 1 - 50 балів
Лабораторні роботи – сумарно 30 балів, модульна контрольна робота – 20 балів.
 
Модуль 2 - 50 балів
Лабораторні роботи – сумарно 30 балів, модульна контрольна робота – 20 балів.
 
Для заочної форми здобуття освіти
Перевірка лабораторних робіт, контрольна робота, залік
Лабораторні роботи – сумарно 60 балів, контрольна робота – 40 балів.

 Політика освітнього процесу та умови допуску до підсумкового контролю
Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх незрозумілих під час самостійної та індивідуальної роботи питань відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності.
Виконаний не свій варіант завдання здобувачем не оцінюється.
Робота, яка виконана після встановлених викладачем термінів, не приймається.
Відсутність здобувача на контрольній роботі відповідає оцінці «0». 
Складання/перескладання заліків – за встановленим деканатом розкладом.
Під час лекції здійснювати телефонні дзвінки забороняється.
Заборонено використання будь-яких підручників, посібників, конспектів лекцій, шпаргалок під час проходження модульних контролів з дисципліни.

Компетентності: 

К1. Володіння знаннями про інформаційні моделі даних, здатність створювати програмне забезпечення для зберігання, видобування та опрацювання даних.

Передумови вивчення дисципліни: 

Програмування з використанням Python

Результати навчання: 

РН1. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
РН2. Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення.

2024 рік