Исходный размер 1140x1600

Анализ котиков

PROTECT STATUS: not protected

Я очень люблю котиков!

big
Исходный размер 1536x768

Итак, мой проект посвящен анализу данных о котиках, потому что кто не любит котиков? Котики — это популярные домашние животные, которые являются частью нашей жизни. Я выбрала данные из открытого набора данных «Cats_dataset» на Kaggle. Внутри есть детальная информация о породах, возрасте, весе и других характеристиках кошек.

big
Исходный размер 1536x768

Для визуализации данных я планирую использовать следующие типы графиков: • Тепловая карта • Столбчатая диаграмма • Круговая диаграмма • Точечный график (scatter plots)

Визуальное оформление

big
Исходный размер 1920x409

Для визуального оформления я использовала нежную цветовую палитру, чтобы передать пушистость и мягкость кошек.

Загрузка данных

Для работы я импортировала библиотеки: pandas для работы с данными, matplotlib.pyplot и seaborn для построения графиков, и загрузила два основных файла из датасета. Также, для тепловой карты, использовалась библиотека matplotlib.colors.

import pandas as pd import matplotlib.pyplot as plt import seaborn as sns

df = pd.read_csv('/content/cats_dataset.csv')

Круговая диаграмма

Исходный размер 1920x1081

Была построена круговая диаграмма соотношения сибирских котов и кошек. Для построения круговой диаграммы необходимо было отфильтровать данные по породе, после чего нужно было посчитать количество самцов и самок.

df_siberian = df[df['Breed'] == 'Siberian']

gender_counts = df_siberian['Gender'].value_counts()

На диаграмме изображено соотношение самок и самцов среди Сибирских кошек. Для оформления использовалась цветовая палитра и стиль текста.

plt.figure(figsize=(7, 7)) plt.pie(gender_counts, labels=gender_counts.index, autopct='%1.1f%%', colors=hello_kitty_colors, startangle=90, wedgeprops={'edgecolor': 'black', 'linewidth': 1}, textprops={'color': 'black'})

plt.title("Соотношение самцов и самок среди сибирских кошек", fontsize=14, fontweight='bold')

Точечный график

Исходный размер 1950x1150

Благодаря этому графику мы увидели, как меняется вес Мейн-кунов с возрастом. А также различия между весом самцов и самок. После фильтрации Мейн-кунов от других пород, я начала построение графика.

df_maine_coon = df[df['Breed'] == 'Maine Coon']

plt.figure(figsize=(10, 6)) sns.scatterplot( data=df_maine_coon, x='Age (Years)', y='Weight (kg)', hue='Gender', palette=colors, s=100, alpha=0.8, edgecolor='black'

Для понимания графика, я сделала подписи к осям Х и Y.

plt.title("Зависимость веса от возраста у мейн-кунов😺", fontsize=16, fontweight='bold') plt.xlabel("Возраст (годы)", fontsize=14) plt.ylabel("Вес (кг)", fontsize=14)

Тепловая карта

Исходный размер 2350x1148

Для построения тепловой карты я нашла топ-5 самых популярных пород, после чего сгруппировала данные по породам и окрасам. Далее построила тепловую карту, где интенсивность цвета показывает частоту встречаемости окраса у выбранных мной пород.

top_5_breeds = df['Breed'].value_counts().head(5).index.tolist() #находит 5 самых популярных пород

df_top = df[df['Breed'].isin(top_5_breeds)] #Фильтруем DataFrame по этим породам

pivot_df = df_top.groupby(['Breed', 'Color']).size().unstack(fill_value=0) #Строим сводную таблицу: порода → цвет → количество кошек

pivot_df = pivot_df.loc[pivot_df.sum(axis=1).sort_values(ascending=False).index] #Сортируем строки (породы) по популярности


cmap = ListedColormap(colors)

plt.figure(figsize=(12, 6)) sns.heatmap(pivot_df, annot=True, cmap=cmap, cbar=False, fmt='d', linewidths=0.5, linecolor='white')

Столбчатая диаграмма

Исходный размер 1958x1162

Код строит горизонтальную столбчатую диаграмму, которая показывает топ-5 самых популярных пород кошек из датасета, загруженного из файла cats_dataset.csv.

Анализ котиков
Проект создан 15.07.2025
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше