+7 (812) 703-02-02 info@hse.spbstu.ru

PDA-120. Программирование на Python для анализа данных

Длительность дисциплины: 40 ак.ч.


Аннотация

Целью курса является формирование и/или совершенствование теоретических знаний и умений в области анализа данных с применением языка Python, а также приобретение практических навыков обработки данных на языке Python для широкого круга специалистов, работающих с данными.

Знания и умения, полученные в результате изучения

В результате обучение на курсе слушатели будут
 
Знать:
  • Основные принципы анализа данных с помощью возможностей языка Python.
  • Возможности выполнения операций над векторами и матрицами в NumPy.
  • Типы данных pandas.
  • Основы обработки естественного языка.
  • Принципы работы с файлами разных форматов.
  • Методы очистки и подготовки данных.
  • Принципы взаимодействия с базами данных (SQL).
Уметь:
  • Умение использовать Jupyter Lab, использование системного командного процессора.
  • Выполнение операций над векторами и матрицами с помощью модуля NumPy.
  • Обработка табличных данных с помощью pandas.
  • Умение выбрать подмножество из таблицы.
  • Умение визуализировать данные.
  • Умение осуществлять сбор и подготовку данных с помощью языка Python, работа с модулем requests.
  • Умение взаимодействовать с базами данных (SQL).
Иметь навыки:
  • Осуществлять сбор и подготовку необходимых для анализа и визуализации данных с помощью языка Python.
  • Работать с модулем requests.
  • Осуществлять анализ данных из различных источников средствами языка Python.
  • Использовать модули NumPy и pandas для анализа данных.
  • Визуализировать аналитические данные.

Содержание дисциплины

Тема 1. Введение в анализ данных. Операции над векторами и матрицами в NumPy
1.1    Введение в анализ данных. Возможности Jupyter Lab    
    Введение в анализ данных.
    Выполнение внешнего кода %run.
    Длительность выполнения кода %timeit.
    Справка по магическим функциям.
    Использование системного командного процессора
1.2    Возможности модуля NumPy     
    Операции над векторами и матрицами в NumPy.
    Сравнение list и ndarray.
    Создание ndarray из списка.
    Атрибуты массивов NumPy.
    Индексация массива.
    Срезы массива.
    Изменение формы массивов.
    Медлительность циклов Python.
    Универсальные функции NumPy.
    Агрегирование.
    Суммирование значений.
    Минимум и максимум.
    Транслирование.
    Сравнение, маски, булева логика.
    Прихотливая индексация. Сортировка массивов
Практические занятия:    
Работа с векторами и матрицами в NumPy.
Агрегирование данных массива.
 
 
Тема 2. Операции над таблицами в pandas
2.1    Общее знакомство с pandas, обзор возможностей    
    Обзор типов данных pandas.
    Выбор подмножества из таблицы.
    Построение графиков.
    Создание новых столбцов.
    Создание сводной статистики.
    Работа с текстовыми данными.
2.2    Типы данных pandas и операции над ними     
    Работа с объектами Series и DataFrame.
    Использование индексных объектов.
    Переиндексация.
    Удаление элементов из оси.
    Доступ по индексу, выборка, фильтрация.
    Сортировка и ранжирование
Практические занятия:
Построение графиков.
Работа с текстовыми данными.
Работа с объектами Series и DataFrame.
 
Тема 3. Сбор и подготовка данных с помощью языка Python
3.1    Работа с файлами разных форматов
    Чтение и запись CSV, XML, JSON, Excel, HTML
3.2 Очистка и подготовка данных    
    Обработка отсутствующих данных.
    Фильтрация отсутствующих данных.
    Восполнение отсутствующих данных.
    Устранение дубликатов.
    Преобразование данных.
    Замена значений.
    Манипуляции со строками
3.3    Модуль requests    
    Обзор возможностей модуля requests.
    Обращение к внешним API (погода, курс валют).
3.4    Взаимодействие с базами данных (SQL).    
    Работа с реляционными БД (sqlite3), выполнение SQL-запросов.
    SQL-запросы из pandas
3.5    Основы обработки естественного языка    
    Предварительная обработка текста.
    Лексемизация слов.
    Нормализация слов
Практические занятия:
Работа с файлами разных форматов.
Очистка и подготовка данных.
 
Тема 4. Анализ данных с помощью возможностей языка Python
4.1    Операции над таблицами в pandas    
    Иерархическое индексирование.
    Сводная статистика по уровню.
    Комбинирование и слияние наборов данных.
    Изменение формы и поворот.
    Агрегирование данных и групповые операции.
    Метод apply.
    Сводные таблицы
4.2    Визуализация данных    
    Matplotlib: рисунки, подграфики, цвета, маркеры, аннотации.
    Seaborn/plotly: линейные графики, столбчатые диаграммы, гистограммы
4.3    Временные ряды    
    Типы данных, относящиеся к дате и времени.
    Диапазоны дат, сдвиг.
    Скользящие оконные функции
4.4    Анализ данных из открытых источников    
    Анализ данных из открытых источников
Практические занятия:    
Визуализация данных.
Анализ данных из социальной сети ВКонтакте.
 
5. Итоговая аттестация.