Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Боженко ЛР / анализ данных1

.docx
Скачиваний:
1
Добавлен:
03.06.2024
Размер:
438.89 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

старший преподаватель

В.В. Боженко

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №1

ПРЕДВАРИТЕЛЬНЫЙ АНАЛИЗ ДАННЫХ

по курсу: ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

подпись, дата

инициалы, фамилия

Санкт-Петербург 2023

Цели работы: осуществить предварительную обработку данных csv-файла, выявить и устранить проблемы в этих данных.

Ход работы

Вариант 15

Импортируeтся библиотека pandas. С помощью команды read_csv считывается таблица из файла (Рисунок 1).

Рисунок 1 – Считывание таблицы из файла

С помощью метода head выводятся первые 20 строк таблицы (Рисунок 2).

Рисунок 2 – Использование метода head

В таблице содержится информация о кредитных заявках

  1. Id - порядковый номер в таблице

  2. Age - возаст

  3. Income - доход

  4. Home - статус домовладения

  5. Emp_length - стаж работы

  6. Intent - цель кредита

  7. Amount - сумма кредита

  8. Rate - процентная ставка

  9. Status - статус одобрения кредита

  10. Percent_income - сумма кредита в процентах от дохода

  11. Default - был ли ранее дефолт по кредит

  12. 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 лет.

Дополнительное задание:

  1. Фильтрация датасета по Статусу домовладения Rent и Own, по Intent любые 3 цели, Amount числовой фильтр (Рисунок 21).

Рисунок 21 – Дополнительное задание 1

  1. Сводная таблица по этому датасету, столбцы Intent, строки Home, значения max Income (Рисунок 22).

Рисунок 22 – Дополнительное задание 2

Максимальный доход в этой выборке составил 280000 у клиентов со статусом домовладения Rent и целью кредита Personal, минимальный - 180000 у клиентов со статусом домовладения Own и целью кредита Education.

  1. Сводная таблица по медианному значению (Рисунок 23).

Рисунок 23 – Дополнительное задание 3

В среднем доход больше у клиентов со статусом домовладения Rent и целью кредита Education, меньший - у клиентов со статусом домовладения Own и целью кредита Personal.

Ссылка на Google Colab:

Вывод:

Проведена обработка набора данных с информацией о кредитных заявках. В ходе работы выполнено удаление явных и неявных дубликатов, заполнение пустых ячеек, исправление некорректных данных, группировка данных и создание сводных таблиц. В ходе анализа набора данных выяснилось, что больше всего заявок от клиентов со статусом домовладения “Аренда”, большинство клиентов не допускали дефолта по кредиту, в среднем самые большие суммы у кредитов с целью закрыть кредит в другом банке. Клиенты в возрасте 24 лет в среднем имеют большие суммы кредита.

Соседние файлы в папке Боженко ЛР