+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. Итоговая аттестация.