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

Итак, мой проект посвящен анализу данных о котиках, потому что кто не любит котиков? Котики — это популярные домашние животные, которые являются частью нашей жизни. Я выбрала данные из открытого набора данных "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.
breed_counts = df['Breed'].value_counts ()
top_n_breeds = breed_counts.head (5)
plt.figure (figsize=(10, 6)) ax = sns.barplot ( x=top_n_breeds.values, y=top_n_breeds.index, palette=hello_kitty_palette, hue=top_n_breeds.index, legend=False )
for i, v in enumerate (top_n_breeds.values): ax.text (v + 0.2, i + 0.1, str (v), color='black', va='center', fontsize=11)
plt.title («Топ-5 самых популярных пород кошек», fontsize=16, pad=20) plt.xlabel («Количество кошек», fontsize=14) plt.ylabel («Порода», fontsize=14)
Заключение
В ходе работы получилось проанализировать датафрейм и на этих результатах построить графики и диаграммы.
EXISTING_LINK_0_1761333812597_1×1wqbw5v