• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Python for Data Extraction and Data Mining

2021/2022
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Course type:
Compulsory course
When:
1 year, 1, 2 module

Instructors

Программа дисциплины

Аннотация

Курс «Python для извлечения и обработки данных» имеет целью обучить студентов не только работе в Python, но и основам программирования вообще, поскольку наиболее базовые принципы являются схожими почти во всех языках программирования. При решении ряда задач исследователи часто сталкиваются с необходимостью работать с большими массивами данных. Характер данных может быть очень разным: последовательности нуклеиновых кислот (ДНК, РНК), аминокислот (белки). Для того чтобы эффективно работать с разными типами данных, необходимо знать основы программирования, так как именно навыки программирования позволяют автоматически собирать необходимую информацию за достаточно быстрое время. В качестве языка программирования в данном курсе используется Python. Язык Python на данный момент является очень популярным, в том числе в исследованиях в рамках естественных наук. Дисциплина подразделяется на два блока. Первый блок посвящен основам программирования и включает необходимые для дальнейшей работы в Python темы: переменные и типы данных, списки и кортежи, словари, условные конструкции, циклы и функции. Второй блок посвящен решению прикладных задач в Python и включает темы, связанные со сбором и анализом данных: выгрузка данных с сайтов, парсинг веб-страниц, работа с таблицами, визуализация и разведывательный анализ данных. Студентам будет предложен проект, при выполнении которого они смогут применить полученные знания для анализа генома. Базовые навыки программирования позволят работать с биологическими данными различного уровня и размеров эффективнее и уже сегодня являются достаточно востребованными навыками у специалистов естественнонаучного профиля.
Цель освоения дисциплины

Цель освоения дисциплины

  • Овладение навыками программирования на языке Python, овладение методами сбора и обработки данных для решения задач анализа биологических последовательностей и биологической статистики
Планируемые результаты обучения

Планируемые результаты обучения

  • Умеет выполнять операции с массивами NumPy
  • Умеет работать в среде Jupyter Notebook, умеет создавать переменные разных типов, принимать информацию от пользователя и выводить информацию на экран
  • Умеет решать прикладные задачи с применением условных конструкций и циклов
  • Знает особенности изменяемых и неизменяемых типов данных; умеет создавать разные структуры данных
  • Знает особенности типов и структур данных: словарь, список, вложенные структуры, float, int, строка
  • Умеет писать функции на Python, тестировать их, обрабатывать ошибки
  • Умеет загружать файлы с данными разных форматов и экспортировать их
  • Умеет выполнять базовые операции с табличными данными средствами Python
  • Знает этапы предварительной обработки текста и умеет реализовывать их на практике
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Начало работы в Python
    Установка Python 3 (дистрибутив Anaconda). Знакомство с интерфейсом Jupyter Notebook. Элементы языка разметки Markdown. Установка и импортирование пакетов. Переменные в Python. Типы данных в Python: числовой (с плавающей точкой), целочисленный, логический, строковый. Преобразование типов. Ввод информации пользователем и вывод информации на экран. Элементарные вычисления в Python, арифметические операторы и операторы сравнения.
  • Управляющие конструкции в Python.
    Понятие управляющих конструкций. Построение блок-схемы для понимания структуры кода. Условные конструкции и операторы if-elif-else.
  • Циклы в Python
    Циклы for и while. Применение циклов к строкам, спискам, кортежам и словарям. Альтернатива коду с циклами: списковые включения (list comprehension).
  • Структуры данных в Python
    Списки, кортежи, множества, словари: организация данных и методы работы с ними. Изменяемые и неизменяемые типы данных. Принципы индексирования различных структур данных и присвоения значений их элементам.
  • Функции в Python
    Устройство функций в Python. Написание простейших функций. Lambda-функции. Исключения. Поиск ошибок в коде и обработка исключений.
  • Работа с файлами
    Работа с файлами в Python: открытие, изменение, сохранение. Разные форматы хранения данных: csv-файлы, json-файлы, txt-файлы.
  • Работа с текстами
    Регулярные выражения
  • Массивы NumPy
    Массивы vs списки в Python. Работа с массивами NumPy. Применение массивов в анализе данных.
  • Работа с таблицами
    Обзор возможностей библиотеки pandas. Преобразование датафреймов pandas: добавление строк и столбцов в таблицу, фильтрация строк по условиям. Группировка и агрегирование данных. Объединение таблиц.
  • Работа с html-файлами
    Введение в HTML и элементы веб-дизайна. Извлечение данных из веб-страниц. Парсинг html-файлов в Python с помощью библиотек requests и BeautifulSoup.
  • Работа с Bioython
    Знакомство с самым большим и популярным пакетом Python для обработки биологических данных. Основные операции. Решение базовых задач биоинформатики.
Элементы контроля

Элементы контроля

  • неблокирующий Контрольная работа
  • неблокирующий Тесты
    8 тестов в течение курса. Общая оценка за Т вычисляется как среднее арифметическое всех оценок за тесты.
  • неблокирующий Онлайн-курс
    Курс "____" размещен на внутренней платформе НИУ ВШЭ [URL: online.hse.ru]. Оценка за дисциплину выставляется в соответствии с формулой оценивания от всех пройденных элементов контроля
  • неблокирующий Проект
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.2 * Контрольная работа + 0.2 * Онлайн-курс + 0.25 * Проект + 0.15 * Тесты + 0.2 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Nelli, F. (2018). Python Data Analytics : With Pandas, NumPy, and Matplotlib (Vol. Second edition). New York, NY: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1905344
  • Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505
  • Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2020 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-454101

Рекомендуемая дополнительная литература

  • G. Nair, V. (2014). Getting Started with Beautiful Soup. Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=691839