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

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

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

Для визуального оформления я использовала нежную цветовую палитру, чтобы передать пушистость и мягкость кошек.
Загрузка данных
Для работы я импортировала библиотеки: 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')
Круговая диаграмма
Была построена круговая диаграмма соотношения сибирских котов и кошек. Для построения круговой диаграммы необходимо было отфильтровать данные по породе, после чего нужно было посчитать количество самцов и самок.
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')
Точечный график
Благодаря этому графику мы увидели, как меняется вес Мейн-кунов с возрастом. А также различия между весом самцов и самок. После фильтрации Мейн-кунов от других пород, я начала построение графика.
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)
Тепловая карта
Для построения тепловой карты я нашла топ-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')
Столбчатая диаграмма
Код строит горизонтальную столбчатую диаграмму, которая показывает топ-5 самых популярных пород кошек из датасета, загруженного из файла cats_dataset.csv.




