Original size 1140x1600

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

PROTECT STATUS: not protected
25

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

big
Original size 1536x768

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

big
Original size 1536x768

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

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

big
Original size 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')

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

Original size 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')

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

Original size 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)

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

Original size 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')

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

Original size 1958x1162

Код строит горизонтальную столбчатую диаграмму, которая показывает топ-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)

Заключение

В ходе работы получилось проанализировать датафрейм и на этих результатах построить графики и диаграммы.

Original size 1536x768

EXISTING_LINK_0_1761333812597_1×1wqbw5v

Анализ котиков
25
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more