Выполнены практические задания по учебному курсу "Анализ данных"
Тема 1. Основы языка Python
Задание
1. Установить на компьютер дистрибутив: Miniconda, интерактивную среду разработки JupyterLab, библиотеки Pandas, NumPy, Matplotlib, Seaborn. В интерактивной среде разработки написать программный код, выводящий версии данных библиотек.
2. Задача на работу с функциями. Даны два действительных числа x и y. Проверьте, принадлежит ли точка с координатами (x, y) заштрихованному квадрату (включая его границу). Если точка принадлежит квадрату, выведите слово YES, иначе выведите слово NO. На рис. 1 сетка проведена с шагом 1, горизонтальная ось x, вертикальная ось y.
Решение должно содержать функцию IsPointInSquare (x, y), возвращающую True, если точка принадлежит квадрату, и False, если не принадлежит. Основная программа должна считать координаты точки, вызвать функцию IsPointInSquare и в зависимости от возвращенного значения вывести на экран необходимое сообщение. Например, если x = 0, y = 1, то функция должна возвращать значение YES. Другой пример: при x = 0,5; y = 1,2 функция должна возвращать ответ NO.
3. Задача на работу со списками и обработку строк. Вводится строка произвольной длины, содержащая любое количество целых чисел через пробелы и другие знаки препинания. Необходимо написать функцию, которая будет возвращать все четные элементы входной строки в виде списка (list). Например:
Входная строка:
1 2,3, 4 5, 6, 7 8
выходной список:
[2, 4, 6, 8].
Входная строка:
100...2,3, 5,.,7 9
выходной список:
[100, 2, 6, 8].
4. Задачи на циклы. Создайте функцию, на вход которой подается два целых числа A и В. Функция должна возвращать все целые числа в виде списка (list) от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае. Например:
Если A = 1, B = 4
выходной список:
[1, 2, 3, 4].
Если A = 6, B = 4
выходной список:
[6, 5, 4].
Тема 2. Анализ данных с использованием Python
Задание
Задание на использование словарей, работу с текстовыми файлами и знание принципов объектно-ориентированного программирования. Напишите класс, в котором реализованы методы для считывания содержимого текстового файла input.txt, подсчета количества вхождений в текст каждого уникального слова, хранения этих данных в виде словаря (dict) с парами значений вида Уникальное_слово : количество_вхождений и вывода словаря в наглядной форме. Пример формирования словаря:
Содержимое текстового файла:
To be, or not to be,
that is the question:
Формируемое множество:
{‘to’: 2, ‘be’: 2, ‘or’: 1 , ‘not’: 1, ‘that’: 1, ‘is’: 1, ‘the’: 1, ‘question’: 1}
Тема 3. Библиотеки для анализа данных
Задание
Загрузите статистические данные о коронавирусе из репозитория https://github.com/CSSEGISandData/COVID-19 и сохраните их в переменной coron типа DataFrame. Это можно сделать, используя следующий код:
coron = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv',sep=",")
coron
Теперь программно обработайте данный DataFrame, приведя его к следующему виду, убрав ненужные столбцы (Province/State, Lat, Long) и просуммировав значения регионов (Province/State) по каждой стране (Country/Region).
Date – дата, X – номер дня с начала 2020 года, следующие столбцы – названия стран, число – количество пострадавших от COVID-19.
Результатом выполнения задания является программный код, выполняющий преобразования Исходный DataFrame (рис. 1) в выходной DataFrame (рис. 2).
Тема 3. Библиотеки для анализа данных
Задание
Дополните программный код из практического задания 3, выполнив визуализацию данных при помощи matplotlib. Требуется вывести графики количества пострадавших от COVID-19 человек в зависимости от даты для разных стран. Пример для Китая показан ниже на рис. 4.
Таким образом необходимо визуализировать данные не менее 5 стран по выбору.