Бакалавриат
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