Original size 1360x1920

Анализ базы Аниме

PROTECT STATUS: not protected
10

Концепция

Я решил проанализировать базу данных аниме рекомендаций и сделать: 1. Распределение аниме по жанрам 2. Соотношение рейтинга и количества эпизодов 3. Топ 10 лучших аниме исходя из базы 4. Топ 10 худших аниме исходя из базы

Базу данных я взял на Kaggle. https://www.kaggle.com/datasets/CooperUnion/anime-recommendations-database

Я использовал:

Горизонтальный столбчатый график для отображения распределения количества аниме по жанрам.

Точечный график для отображения соотношения рейтингов и количества эпизодов.

Вертикальный столбчатый график для топ-10 лучших и худших аниме.

Я сам люблю периодически смотреть аниме, и поэтому мне хотелось посмотреть на рейтинг исходя из базы данных которую можно найти.

Сначала я попросил ChatGPT структурировать мне базу в топ 10 худших и лучших аниме.

Код:

top_10_best = anime.sort_values (by='rating', ascending=False).head (10)

top_10_worst = anime.sort_values (by='rating', ascending=True).head (10)

print («Top 10 Best Anime:») print (top_10_best[['name', 'rating']])

print («\nTop 10 Worst Anime:») print (top_10_worst[['name', 'rating']])

Что вышло.

Top 10 Best Anime: name rating 10464 Taka no Tsume 8: Yoshida-kun no X-Files 10.00 10400 Spoon-hime no Swing Kitchen 9.60 9595 Mogura no Motoro 9.50 0 Kimi no Na wa. 9.37 9078 Kahei no Umi 9.33 1 Fullmetal Alchemist: Brotherhood 9.26 2 Gintama° 9.25 10786 Yakusoku: Africa Mizu to Midori 9.25 3 Steins; Gate 9.17 4 Gintama' 9.16

Top 10 Worst Anime: name rating 9991 Platonic Chain: Ansatsu Jikkouchuu 1.67 12258 Hi Gekiga Ukiyoe Senya Ichiya 1.92 8058 Tenkuu Danzai Skelter+Heaven 2.00 8057 Utsu Musume Sayuri 2.14 8056 Hametsu no Mars 2.37 10087 Roboteuwang Sseonsyakeu 2.49 9516 Mechano: Scientific Attack Force 2.55 8289 Cakes 2.58 9854 Ongaku Sekai Ryokou 2.67 8055 Nami 2.67

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

Код:

top_10_best = anime.sort_values (by='rating', ascending=False).head (10)

top_10_worst = anime.sort_values (by='rating', ascending=True).head (10)

print («Top 10 Best Anime:») print (top_10_best[['name', 'rating']])

print («\nTop 10 Worst Anime:») print (top_10_worst[['name', 'rating']])

plt.figure (figsize=(8, 10)) sns.barplot (data=top_10_best, y='name', x='rating', palette='viridis') plt.title ('Top 10 Best Anime', fontsize=16, fontweight='bold') plt.xlabel ('Rating', fontsize=14) plt.ylabel ('Anime', fontsize=14) plt.show ()

plt.figure (figsize=(8, 10)) sns.barplot (data=top_10_worst, y='name', x='rating', palette='magma') plt.title ('Top 10 Worst Anime', fontsize=16, fontweight='bold') plt.xlabel ('Rating', fontsize=14) plt.ylabel ('Anime', fontsize=14) plt.show ()

Original size 928x859
Original size 893x859

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

Потом я попросил распределить количество аниме по жанрам.

Код:

genre' in anime.columns: genres = anime['genre'].str.split (', ').explode ().value_counts () plt.figure (figsize=(10, 6)) sns.barplot (x=genres.values, y=genres.index, palette="muted») plt.title ('Распределение аниме по жанрам', fontsize=16, fontweight='bold') plt.xlabel ('Количество аниме', fontsize=14) plt.ylabel ('Жанр', fontsize=14) plt.show ()

Original size 913x551

А вот этот график достаточно занимательный, исходя из него мы можем понять что аниме в жанре комедия больше всех, хотя мне раньше всегда казалось что боевиков.

Потом я попросил у того же ChatGPT сделать анализ точечным графиком количества серий и рейтинга.

Код:

plt.figure (figsize=(12, 8)) scatter_plot = sns.scatterplot (data=anime, x='rating', y='episodes', alpha=0.7, s=80, edgecolor='w', linewidth=0.5) scatter_plot.set_xlim (0, 10) scatter_plot.set_ylim (0, anime['episodes'].max () + 100)

plt.title ('Соотношение рейтингов и количества эпизодов', fontsize=16, fontweight='bold') plt.xlabel ('Рейтинг', fontsize=14) plt.ylabel ('Количество эпизодов', fontsize=14) plt.grid (True, which="both», ls="--», linewidth=0.5) plt.show ()

Original size 1022x705

Тоже занимательный график. Исходя из него можно понять что аниме у которых больше 1000 эпизодов не так много, а ещё то, что у таких больших аниме не всегда высокий рейтинг.

Ссылка на диск с кодом и базой данных

Анализ базы Аниме
10