Исходный размер 1360x1920

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

Концепция

Я решил проанализировать базу данных аниме рекомендаций и сделать:

  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()

Исходный размер 928x859
Исходный размер 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()

Исходный размер 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()

Исходный размер 1022x705

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

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

https://drive.google.com/drive/folders/1NnOAW-r67wtJb6yXcX2RaZ44Rhk_r9HP?usp=sharing

Анализ базы Аниме
Проект создан 08.10.2024