데이터 분석 공부 기록

[kaggle] 애니메이션 순위 데이터(3년 2025월 업데이트) Top 15,000 Ranked Anime Dataset (Update to 3/2025)

note818 2025. 3. 23. 17:29

Top 15,000 Ranked Anime Dataset (Update to 3/2025)

 

Top 15,000 Ranked Anime Dataset (Update to 3/2025)

Dataset of top 15k ranked from MAL. Rich features for analysis & recommendations

www.kaggle.com

이번 분석에 사용된 데이터는 캐글에 공개된 마이애니리스트(MAL) 기반 애니메이션 정보 데이터셋입니다.
해당 데이터는 지칸 API v4의 /top/anime 엔드포인트를 통해 수집된 것으로, MAL 순위 기준 상위 15,000개의 애니메이션 정보를 포함하고 있습니다.

Jikan API는 MyAnimeList의 비공식 API이지만, 많은 개발자 및 연구자들이 활용하는 신뢰도 높은 데이터 제공 도구입니다. 이 데이터셋에는 각 애니메이션의 평점(score), 순위(rank), 인기(popularity), 장르(genres), 테마(themes), 대상 연령층(demographics), 제작사(studios), 줄거리(synopsis) 등 다양한 정보가 포함되어 있어 분석에 적합합니다.

이 데이터를 기반으로 애니메이션의 전반적인 특성 및 트렌드를 파악해보는 분석을 해보도록 하겠습니다 

 

1. 열 목록 확인

df.info()
  • anime_id: MyAnimeList(MAL ID)에 있는 애니메이션의 고유 식별자입니다.
  • anime_url: MyAnimeList의 애니메이션 페이지에 대한 URL 링크입니다.
  • image_url: 애니메이션의 기본 비주얼 또는 표지 이미지(JPEG 형식)의 URL입니다.
  • name: 애니메이션의 공식 제목.
  • english_name: 애니메이션의 공식 영어 제목입니다.
  • japanese_names: 애니메이션의 공식 일본어 제목입니다(사용 가능한 경우).
  • score: MyAnimeList에서 애니메이션의 평균 점수/등급(1에서 10까지, 높을수록 좋음).
  • genres: 애니메이션과 관련된 쉼표로 구분된 장르 목록(예: 액션, 코미디, 판타지).
  • themes: 애니메이션과 관련된 테마의 쉼표로 구분된 목록(예: 심리적, 시간 여행)
  • demographics: 애니메이션의 대상 관객 (shounen, shoujo, seinen, josei)
  • synopsis: 애니메이션에 대한 간략한 요약 또는 줄거리 설명입니다.
  • type: 애니메이션의 유형(예: TV, 영화, OVA, ONA, 스페셜, 음악).
  • episodes: 애니메이션 시리즈의 에피소드 수(TV 시리즈, OVA 등).
  • premiered: 애니메이션이 초연된 계절 및 연도(예: "2013년 가을").
  • producers: 애니메이션 제작에 참여한 제작사의 쉼표로 구분된 목록입니다.
  • studios: 애니메이션의 애니메이션을 담당하는 애니메이션 스튜디오의 쉼표로 구분된 목록입니다.
  • source: 애니메이션의 원본 소스 자료(예: 만화, 원작, 라이트 노벨, 게임).
  • duration: 각 에피소드의 지속 시간(분)입니다(TV 시리즈, OVA 등의 경우).
  • rating: 애니메이션의 연령 등급 또는 콘텐츠 등급(예: PG-13, R+, G).
  • rank: 점수를 기준으로 한 애니메이션의 순위(순위가 낮을수록 좋음). 이 데이터 세트는 이 순위별로 상위 15,000개의 애니메이션에 초점을 맞춥니다.
  • popularity: MyAnimeList에서 애니메이션의 인기 순위(낮은 순위가 더 인기가 있음).
  • favorites: MyAnimeList에서 이 애니메이션을 즐겨찾기로 표시한 사용자 수입니다.
  • scored_by: 애니메이션의 점수에 기여한 사용자 수입니다.
  • members: 애니메이션의 MyAnimeList 커뮤니티의 구성원으로 나열된 사용자 수입니다.

 

2. 사람들이 많이 보는 장르 선호도 조사 

df['genres'].value_counts()

 

그런데 장르가 2개이상으로 쉼표로 되어있는 것들이 포함되어있다.

곰곰히 생각해서 나온 결론은 맨 앞에 있는걸 대표 장르로 하여 통합시키자 라는 결론에 이르렀다 

df['main_genre'] = df['genres'].str.split(', ').str[0]

 

새롭게 열을 생성하고보니 결측치가 발견되어 이건 그냥 기타로 분류하기로 했다

df['main_genre'] = df['main_genre'].fillna('Others')
df['main_genre'].isna().sum()

비율 계산

import matplotlib.pyplot as plt

# 상위 7개 장르 추출
top7_genres = genre_ratio.sort_values(ascending=False).head(7)

# 시각화
top7_genres.sort_values().plot(
    kind='barh',
    figsize=(8, 6),
    title='Top 7 Anime Genres by Percentage'
)

plt.xlabel('Percentage (%)')
plt.ylabel('Genre')
plt.tight_layout()
plt.show()

액션과 코미디가 큰 비율을 차지하였다

3.  평점으로 보는 만화 순위 

# source가 'Manga'인 애니메이션 필터링
manga_based = df[df['source'] == 'Manga']

# 순위(rank)가 있는 것만 정렬
manga_ranked = manga_based.dropna(subset=['rank']).sort_values('rank')

# 상위 10개 보기
top10_manga_adaptations = manga_ranked[['name', 'score', 'rank', 'popularity']].head(10)
print(top10_manga_adaptations)

출처:나무위키

 

🎬 인기 애니메이션 순위 & 정보

순위 애니메이션 제목 (한글) 원제 (영문) 평점 인기 순위
1 장송의 프리렌 Sousou no Frieren 9.31 160
2 강철의 연금술사 BROTHERHOOD Fullmetal Alchemist: Brotherhood 9.10 3
5 진격의 거인 시즌 3 파트 2 Shingeki no Kyojin Season 3 Part 2 9.05 21
6 은혼° Gintama° 9.05 344
7 은혼: 더 파이널 Gintama: The Final 9.04 1536
8 헌터×헌터 (2011) Hunter x Hunter (2011) 9.03 8
9 은혼' Gintama' 9.02 401
10 은혼': 연장전 Gintama': Enchousen 9.02 759
12 블리치: 천년혈전편 Bleach: Sennen Kessen-hen 9.00 374
13 카구야님은 고백받고 싶어: 울트라 로맨틱 Kaguya-sama wa Kokurasetai: Ultra Romantic 8.99 168

 

평점은 아무래도 새롭게 나온 인기만화가 순위를 차지하는것 같습니다 

그래서 즐겨찾기로 누적되어있는 열이 있어 다시 알아보았습니다  

4. 사람들이 좋아요 즐겨찾기 순위

top_favorites = df.sort_values('favorites', ascending=False).head(10)
top_favorites[['name', 'score', 'favorites', 'rank', 'popularity']]

출처: 나무위키

순위 애니메이션 제목 평균 평점 즐겨찾기 수 MAL 순위 인기 순위
1 One Piece 8.73 234,344 51 17
2 강철의 연금술사: 브라더후드 9.10 231,928 2 3
3 헌터 x 헌터 (2011) 9.03 218,449 8 8
4 슈타인즈 게이트 9.07 194,507 3 14
5 데스노트 8.62 178,500 89 2
6 진격의 거인 8.56 178,145 116 1
7 나루토: 질풍전 8.28 115,525 303 16
8 코드 기아스: 반역의 를르슈 8.70 111,695 61 22
9 신세기 에반게리온 8.36 110,742 230 45
10 주술회전 8.56 93,177 109 13