
Необходимые данные были взяты на kaggle. Данные о различных животных, их описание (вид, порода, цвет и т. д.), а также столбец с возможностью усыновления с двумя значениями (0 — низкая возможность, 1- высокая)
Описание данных: PetID: Уникальный идентификатор для каждого питомца. PetType: Тип питомца. Breed: Порода. AgeMonths: Возраст в месяцах. Color: Цвет животного. Size: Размер. WeightKg: Вес в килограммах. Vaccinated: Сведения о вакцинации (0 — Не вакцинирован, 1 — Вакцинирован). HealthCondition: Состояние здоровья (0 — Здоров, 1 — Медицинский уход). TimeInShelterDays: Длительность пребывания в приюте. AdoptionFee: Цена усыновления. PreviousOwner: Был ли когда-нибудь хозяин (0 — Нет, 1 — Да). AdoptionLikelihood: Шансы на усыновления (0 — Низкие, 1 — Высокие)
Мне было важно делать проект с упором на его дальнейшее практическое применение. Проблема приютов для животных достаточно остро стоит в современном обществе, и ключевой нюанс этой проблемы заключается в том, что приюты переполнены. В своем проекте я бы хотела сделать упор на то, как я могу помочь приютам увеличить количество усыновлений.
В части предобратотки данных мною были использованный «ящики с усами"(boxplot) для выявления возможных аномалий. В исследовательской части — гистограммы для визуализации того, как той или иной фактор влияет на возможность усыновления.
1 этап обработки данных
Я проверила правильность загрузки датасета путем функции display
#запишем исходные данные в dataframe data = pd.read_csv ('pet_adoption_data.csv', sep=', ') #проверим правильность записи display (data.head ())

2 этап обработки данных
На предыдущем этапе заметила, что тип животного порой не совпадает с остальными факторами для него (Dog и Parakeet в одной строке), поэтому была написана функция, назначающая тип животного по его породе. Далее она была применена с помощью apply к датасету
def pet_type (a): if a in ['Labrador', 'Golden Retriever', 'Poodle']: return ('Dog') elif a == 'Parakeet': return ('Bird') else: return ('Cat')
data['PetType'] = data[‘Breed’].apply (pet_type)
3 этап обработки данных
С помощью info проверила типы данных и количество нулевых строк
4 этап обработки
С помощью методов duplicated и sum проверила датафрейм на явные дубликаты
5 этап обработки
С помощью boxplot проверила распределение значений Возраста, Веса и Длительности нахождения животного в приюте
6 этап обработки
Заменим бинарные значения в некоторых столбцах на понятные
Зависимость от типа животного
Больше шансов на усыновления у собак Рассмотрим породы для более точной картины
Зависимость от породы
Статистика благоволит собакам только из-за лабрадоров
Зависимость от возраста
Как видно из распределения, в основном шансов больше у совсем молодых животных Радует то, что с возрастом (после 2 лет) шансы на усыновление практически не снижаются
Зависимость от размера
Животные среднего размер в 3 раза чаще усыновляются
Зависимость от окраса
Цвет не так сильно влияет на шансы усыновления, но коричневый все равно идет впереди
Зависимость от вакцинации
Животных с вакциной забирают намного (в 4 раза) чаще
Необходимость мед. обслуживания
Животных без необходиости в медицинском обслуживании (без проблем со здоровьем) забирают в 4 раза чаще
По ссылке прикреплен блокнот с кодом и датасет: