Боженко ЛР / анализ данных1
.docxГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
старший преподаватель |
|
|
|
В.В. Боженко |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №1 |
ПРЕДВАРИТЕЛЬНЫЙ АНАЛИЗ ДАННЫХ |
по курсу: ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ |
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
|
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2023
Цели работы: осуществить предварительную обработку данных csv-файла, выявить и устранить проблемы в этих данных.
Ход работы
Вариант 15
Импортируeтся библиотека pandas. С помощью команды read_csv считывается таблица из файла (Рисунок 1).
Рисунок 1 – Считывание таблицы из файла
С помощью метода head выводятся первые 20 строк таблицы (Рисунок 2).
Рисунок 2 – Использование метода head
В таблице содержится информация о кредитных заявках
Id - порядковый номер в таблице
Age - возаст
Income - доход
Home - статус домовладения
Emp_length - стаж работы
Intent - цель кредита
Amount - сумма кредита
Rate - процентная ставка
Status - статус одобрения кредита
Percent_income - сумма кредита в процентах от дохода
Default - был ли ранее дефолт по кредит
Cred_length - длина кредитной истории
Используется метод info, он позволяет получить информацию о столбцах таблицы, количестве не пустых ячеек в каждом столбце и используемых типах данных (Рисунок 3).
Рисунок 3 – Использование метода info
В столбцах Emp_length и Rate имеются пустые ячейки, их необходимо заполнить. В столбцах Age и Emp_length необходимо изменить тип данных на int, так как значения в этих столбцах могут быть только целыми
Метод describe позволяет получить информацию о числовых столбцах: количество значений в них, медиану, минимальное и максимальное значения и другие характеристики (Рисунок 4).
Рисунок 4 – Использование метода describe
Всего в таблице 652 записи, средний возраст 24 года, максимальный доход 500000, минимальный - 9600, средняя ставка 12%, средняя продолжительность кредита 3 года
С помощью columns выведены названия столбцов. Проблем с названиями не обнаружено (Рисунок 5).
Рисунок 5 – Использование метода columns
С помощью метода duplicated выводятся строки полностью повторяющие уже встретившиеся в датасете ранее записи, sum позволяет получить количество строк-дубликатов (Рисунок 6, 7).
Рисунок 6 – Вывод строк-дубликатов
Рисунок 7 – Вывод количества строк-дубликатов
Используется метод drop_duplicates для удаления строк-дублтикатов, т.к. строки удаляются вместе с индексами, с помощью reset_index создаётся новый датафрейм, в котором не будет пропусков в индексах, drop=True чтобы не создавался новый столбец index (Рисунок 8).
Рисунок 8 – удаление строк-дубликатов
С помощью метода unique выводятся уникальные значения в каждом столбце. Так как в столбцах Id, Income, Amount, Rate, Percent_income найти неявные дубликаты невозможно, их значения не выводятся. В столбце Age были обнаружены некорректные значения 144 и 123, в Home неявные дубликаты RENT и RENET, в Emp_Length некорректные 123 и пустые ячейки, в Default неявные дубликаты N и No (Рисунок 9).
Рисунок 9 – Вывод уникальных значений в столбцах
С помощью метода value_counts выводится сколько раз встречается каждое значение в столбце (Рисунок 10).
Рисунок 10 – Использование метода value_counts
С помощью replace исправляются неявные дубликаты и некорректные значения (Рисунок 11).
Рисунок 11 – Использование метода replace
С помощью метода isna можно получить количество пустых ячеек в каждом столбце. В столбце Rate их обнаружено 66, что составляет примерно 10%, их необходимо заполнить средним арифметическим значением этого столбца В столбце Emp_length их 9, их можно заполнить значением 0 (Рисунок 12).
Рисунок 12 – Подсчет пустых ячеек в столбцах
С помощью fillna заполняются пустые ячейки в Emp_length (Рисунок 13).
Рисунок 13 – Заполнение пустых ячеек в Emp_length
Высчитывается среднее арифметическое значение Rate (Рисунок 14).
Рисунок 14 – Нахождение среднего арифметического в столбце Rate
В пустые ячейки столбца Rate заносится среднее арифметическое округлённое до 2 знаков после запятой (Рисунок 15).
Рисунок 15 – Заполнение пустых ячеек в Rate
С помощью метода astype изменяются типы данных в столбцах Age и Emp_length на int так как значения в эттих столбцах должны быть целыми (Рисунок 16).
Рисунок 16 – Изменение типов данных в столбцах
Задание 1: Группировка - статус домовладения (home) по количеству дефолтов (default) (Рисунок 17).
Рисунок 17 – Выполнение задания 1
По группировке видно, что большая часть клиентов не допускали дефолта по кредиту, все два клиента со статусом домовладения "Другое" допустили дефолт, самый многочисленный статус домовладения - "Аренда"
Задание 2: Группировка - статус домовладения (home) по количеству дефолтов (default). Создать датафрейм. Переименовать столбец с количеством в “сount”. Отсортировать по убыванию столбца “count”. Создаётся новый датафрейм со столбцами Home, Default и Id, задается сортировка по убыванию значений в Id. С помощью метода rename столбец Id переименовывается в Count, затем выводится результат (Рисунок 18).
Рисунок 18 – Выполнения задания 2
Больше всего дефолтов допускали клиенты со статусом домовладения аренда.
Задание 3: Сводная таблица (pivot_table) - средняя сумма кредита amount для каждой цели кредита. Отсортировать по убыванию. Округлить до трёх знаков (Рисунок 19).
Рисунок 19 – Выполнение задания 3
В среднем самые большие суммы кредита выдаются с намерением закрыть кредит в другом банке.
Задание 4: Сводная таблица (pivot_table) - средняя сумма кредита amount для каждой цели (intent) - строки и возраста - столбцы . Отсортировать по возрастанию intent. Округлить до двух знаков (Рисунок 20).
Рисунок 20 – Выполнение задания 4
В среднем, самые большие суммы кредита у клиентов в возрасте 24 лет.
Дополнительное задание:
Фильтрация датасета по Статусу домовладения Rent и Own, по Intent любые 3 цели, Amount числовой фильтр (Рисунок 21).
Рисунок 21 – Дополнительное задание 1
Сводная таблица по этому датасету, столбцы Intent, строки Home, значения max Income (Рисунок 22).
Рисунок 22 – Дополнительное задание 2
Максимальный доход в этой выборке составил 280000 у клиентов со статусом домовладения Rent и целью кредита Personal, минимальный - 180000 у клиентов со статусом домовладения Own и целью кредита Education.
Сводная таблица по медианному значению (Рисунок 23).
Рисунок 23 – Дополнительное задание 3
В среднем доход больше у клиентов со статусом домовладения Rent и целью кредита Education, меньший - у клиентов со статусом домовладения Own и целью кредита Personal.
Ссылка на Google Colab:
Вывод:
Проведена обработка набора данных с информацией о кредитных заявках. В ходе работы выполнено удаление явных и неявных дубликатов, заполнение пустых ячеек, исправление некорректных данных, группировка данных и создание сводных таблиц. В ходе анализа набора данных выяснилось, что больше всего заявок от клиентов со статусом домовладения “Аренда”, большинство клиентов не допускали дефолта по кредиту, в среднем самые большие суммы у кредитов с целью закрыть кредит в другом банке. Клиенты в возрасте 24 лет в среднем имеют большие суммы кредита.