• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2020/2021

Python для извлечения и обработки данных

Статус: Курс обязательный (Химия)
Направление: 04.03.01. Химия
Когда читается: 2-й курс, 4 модуль
Формат изучения: с онлайн-курсом
Язык: русский
Кредиты: 4

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Экзамен
    Контрольная работа проводится в письменной форме с использованием синхронного прокторинга. Контрольная работа проводится на платформе Онлайн-образование в НИУ ВШЭ (https://online.hse.ru/), прокторинг на платформе Экзамус (https://hse.student.examus.net). На платформе Экзамус доступно тестирование системы (https://lms.demo.examus.net/syscheck_st). Компьютер студента должен удовлетворять требованиям: https://elearning.hse.ru/data/2020/05/07/1544135594/Технические%20требования%20к%20ПК%20студента.pdf.
  • неблокирующий Тесты
  • неблокирующий Онлайн-курс
    Онлайн-курс "Python для извлечения и обработки данных" [URL: https://online.hse.ru/course/view.php?id=3902].
  • неблокирующий Проект
  • неблокирующий Защита проекта
Промежуточная аттестация

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

  • Промежуточная аттестация (4 модуль)
    0.15 * Защита проекта + 0.2 * Онлайн-курс + 0.25 * Проект + 0.2 * Тесты + 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-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 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