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

Python для сбора и анализа данных

Статус: Дисциплина общефакультетского пула
Когда читается: 3, 4 модуль
Язык: английский
Кредиты: 3
Контактные часы: 32

Course Syllabus

Abstract

Course is an optional one module course. During this course students will learn basics of programming, methods to process and visualize qualitative and quantitative data, and approaches to retrieving information from the Internet using web scraping and API requests. The ultimate goal of the course is to provide students with techniques useful for data collection, data visualization and exploratory data analysis. The course is taught in two languages: Russian and English. Classes will be taught in Russian, and materials will be available in both Russian and English. Course prerequisites: No special requirements.
Learning Objectives

Learning Objectives

  • The course is aimed at developing basic programming skills, learning methods of data processing and visualization using Python libraries, learning methods of collecting data from the Web.
Expected Learning Outcomes

Expected Learning Outcomes

  • Apply knowledge of different data structures to solve practical problems
  • Use conditional structures, loops and functions to work with real data
  • Apply methods of data processing and exploratory analysis using Pandas
  • Visualize qualitative and quantitative data using graphical Python libraries
  • Collect data from the Internet via web scraping and API requests
Course Contents

Course Contents

  • Introduction to Python
    Variables and basic data types in Python.
  • Data structures in Python: lists, tuples, dictionaries
    Mutability and immutability in programming. Lists and methods on lists. Tuples and methods on lists. Lists vs tuples. Dictionaries methods on lists. Dictionaries and JSON-files.
  • Control structures and functions in Python
    If-else conditional structures. For-loop and while-loop. User-defined functions. Local and global variables. Lambda-functions. Code debugging.
  • Working with data frames in Python with libraries NumPy and Pandas
    NumPy arrays for data analysis. Basic data handling using Pandas methods. Grouping and aggregation data. Merging and melting data. Gathering descriptive statistics for exploratory analysis.
  • Data visualization with graphical Python libraries
    Visualizing mathematical functions in Python. Visualization of qualitative and quantitative data with Matplotlib. Visualization of data with Seaborn.
  • Collecting data from the Web using Python
    Introduction to HTML and web design. Parsing html-files in Python with the libraries requests and BeautifulSoup. Introduction to CSS-selector. Управление браузером with Selenium. API as a source of data. Working with API of social networks.
Assessment Elements

Assessment Elements

  • non-blocking homeworks
    Grade for homeworks is the average of grades for all homeworks.
  • non-blocking online practice
    Grade for online practice is the percent of tasks completed divided by 10.
  • non-blocking final project
    Экзамен проводится в письменной форме с использованием асинхронного прокторинга. Экзамен проводится на платформе https://hse.student.examus.net). К экзамену необходимо подключиться за 10 минут до начала. Проверку настроек компьютера необходимо провести заранее, чтобы в случае возникших проблем у вас было время для обращения в службу техподдержки и устранения неполадок. Компьютер студента должен удовлетворять требованиям: 1. Стационарный компьютер или ноутбук (мобильные устройства не поддерживаются); 2. Операционная система Windows (версии 7, 8, 8.1, 10) или Mac OS X Yosemite 10.10 и выше; 3. Интернет-браузер Google Chrome последней на момент сдачи экзамена версии (для проверки и обновления версии браузера используйте ссылку chrome://help/); 4. Наличие исправной и включенной веб-камеры (включая встроенные в ноутбуки); 5. Наличие исправного и включенного микрофона (включая встроенные в ноутбуки); 6. Наличие постоянного интернет-соединения со скоростью передачи данных от пользователя не ниже 1 Мбит/сек; 7. Ваш компьютер должен успешно проходить проверку. Проверка доступна только после авторизации. Для доступа к экзамену требуется документ удостоверяющий личность. Его в развернутом виде необходимо будет сфотографировать на камеру после входа на платформу «Экзамус». Также вы должны медленно и плавно продемонстрировать на камеру рабочее место и помещение, в котором Вы пишете экзамен, а также чистые листы для написания экзамена (с двух сторон). Это необходимо для получения чёткого изображения. Во время экзамена запрещается пользоваться любыми материалами (в бумажном / электронном виде), использовать телефон или любые другие устройства (любые функции), открывать на экране посторонние вкладки. В случае выявления факта неприемлемого поведения на экзамене (например, списывание) результат экзамена будет аннулирован, а к студенту будут применены предусмотренные нормативными документами меры дисциплинарного характера вплоть до исключения из НИУ ВШЭ. Если возникают ситуации, когда студент внезапно отключается по любым причинам (камера отключилась, компьютер выключился и др.) или отходит от своего рабочего места на какое-то время, или студент показал неожиданно высокий результат, или будут обнаружены подозрительные действия во время экзамена, будет просмотрена видеозапись выполнения экзамена этим студентом и при необходимости студент будет приглашен на онлайн-собеседование с преподавателем. Об этом студент будет проинформирован заранее в индивидуальном порядке. Во время выполнения задания, не завершайте Интернет-соединения и не отключайте камеры и микрофона. Во время экзамена ведется аудио- и видео-запись. Процедура пересдачи проводится в соотвествии с нормативными документами НИУ ВШЭ.
Interim Assessment

Interim Assessment

  • Interim assessment (4 module)
    0.4 * final project + 0.4 * homeworks + 0.2 * online practice
Bibliography

Bibliography

Recommended Core Bibliography

  • Nelli, F. (2015). Python Data Analytics : Data Analysis and Science Using Pandas, Matplotlib and the Python Programming Language. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1056488

Recommended Additional Bibliography

  • 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