데이터 분석 공부 기록

[kaggle] 넷플릭스 영화와 TV 프로그램 데이터분석 Netflix Movies and TV shows till 2025

note818 2025. 3. 27. 23:58

Find Open Datasets and Machine Learning Projects | Kaggle

 

Netflix Movies and TV shows till 2025

A curated dataset of Netflix content sourced from TMDb, including titles, genres

www.kaggle.com

출처 : 넷플릭스 홈페이지

 

넷플릭스, 요즘 뭐 보고 계신가요?

요즘 저를 웃기고 울린 드라마, 폭싹 속았수다 정말 재미있게 보고 있습니다. 매주 4화씩 나오는 것도 기다림의 묘미였는데, 이번 주 3월 28일에 4막을 마지막으로 끝난다니… 벌써부터 아쉬운 마음이 가득해요.
이 드라마처럼 감동도 있고 위로도 주는 콘텐츠가 있어서 넷플릭스를 끊을 수가 없나 봅니다.

넷플릭스를 켜면 수많은 영화와 드라마들이 쏟아지듯 나오지만, 문득 이런 생각이 들었습니다.
"지금까지 넷플릭스에 도대체 어떤 콘텐츠들이 있었을까? 사람들이 가장 좋아한 장르는 뭘까? 흥행한 작품들의 공통점은?"

그래서 이번에는 넷플릭스의 영화와 TV 프로그램 정보를 모은 데이터를 기반으로, 다양한 시각에서 콘텐츠를 분석해보려 합니다.

이 데이터는 TMDb(The Movie Database)에서 수집된 것으로, 장르, 출연진, 국가, 평점, 수익 등 다양한 정보를 포함하고 있어 콘텐츠 트렌드나 흥행 요인을 살펴보기에 아주 좋을것 같습니다.

 

 

 

1.열(Column) 확인

df = pd.read_csv('/content/drive/MyDrive/project/netflix_movies_detailed_up_to_2025.csv')

df
열 이름 설명
show_id 작품 고유 ID
type 콘텐츠 유형 (예: Movie, TV Show)
title 작품 제목
director 감독 이름
cast 출연 배우 리스트
country 제작 국가
date_added 넷플릭스에 추가된 날짜
release_year 작품이 처음 공개된 연도
rating TMDb 기준 평점 (0~10점)
duration 콘텐츠 길이 (※ 현재는 모든 값이 결측치)
genres 장르 정보 (쉼표로 구분된 문자열)
language 작품의 주요 언어
description 작품에 대한 간략한 설명
popularity TMDb의 인기 지표 (상대적 수치)
vote_count 투표 수 (TMDb 사용자 기준)
vote_average 평균 평점 (vote_count를 기반으로 산정)
budget 제작 예산 (USD 기준, 일부 추정치 포함 가능)
revenue 총 수익 (USD 기준)

 

2.가장 많이 등장한 장르 Top 10

import pandas as pd

genre_series = df['genres'].dropna().str.split(', ')
all_genres = genre_series.explode()

# 장르별로 카운팅
top_genres = all_genres.value_counts().head(10)

print("가장 많이 등장한 장르 Top 10")
print(top_genres)
순위 장르 등장 횟수
1 Drama 6910
2 Comedy 4533
3 Thriller 3769
4 Action 3239
5 Romance 2571
6 Horror 2425
7 Adventure 1768
8 Crime 1738
9 Animation 1579
10 Family 1472

 

드라마(Drama) 장르 전체에서 가장 많은 비중을 차지하고 있으며, 넷플릭스 콘텐츠 중 약 43%

코미디(Comedy)스릴러(Thriller)도 각각 2, 3위를 차지

 

3.장르별 수익 비교 

순위 장르 평균 수익 (USD)
1 Adventure 108,947,800
2 Science Fiction 68,000,730
3 Fantasy 58,538,580
4 Family 57,712,620
5 Action 56,724,820
6 Animation 47,091,920
7 War 28,117,410
8 Comedy 27,626,010
9 History 23,379,020
10 Crime 22,343,290

 

Adventure(모험) 장르는 평균 1억 달러 이상으로 단연 수익 1위

Science Fiction(공상과학)Fantasy(판타지) 평균 수익이 5천만~7천만 달러 사이를 기록

 

4.장르별 평균 평점

순위 장르 평균 평점
1 Animation 6.74
2 History 6.67
3 War 6.55
4 Music 6.53
5 Family 6.47
6 Fantasy 6.30
7 Adventure 6.30
8 TV Movie 6.22
9 Crime 6.18
10 Drama 6.16

5.국가별 콘텐츠 생산 트렌드 분석

 

국가 트렌드 요약
🇺🇸 미국 여전히 많지만 최근엔 줄어듦
🇰🇷 한국 2016년 이후 급성장, 2020년 피크
🇬🇧 영국 꾸준한 안정세
🇫🇷 프랑스 다소 등락 있으나 2023년 반짝 상승
🇯🇵 일본 중간에 소폭 증가했지만 최근 감소
🇨🇦 캐나다 일정 수준 유지, 뚜렷한 피크는 없음

미국이 여전히 콘텐츠 왕국이긴 하지만, 최근 몇 년간은 한국이 확실히 치고 올라왔다는 걸 데이터가 말해줍니다.
특히 2020년, 한국은 미국 빼고 제일 많이 만든 나라

 

 

 

6. 콘텐츠 트렌드 분석

 

 

6-1 .연도별 콘텐츠 수 변화

# Select top 5-6 most frequent genres overall
top_genres = df_genre_year['genres'].value_counts().head(6).index.tolist()

# Filter for those genres
filtered = df_genre_year[df_genre_year['genres'].isin(top_genres)]

# Group by year and genre
genre_trend_plot = filtered.groupby(['release_year', 'genres']).size().unstack().fillna(0)

# Plot
genre_trend_plot.plot(figsize=(15, 6))
plt.title('Genre Trends Over the Years')
plt.xlabel('Release Year')
plt.ylabel('Number of Titles')
plt.legend(title='Genre')
plt.grid(True)
plt.tight_layout()
plt.show()

 

드라마는 여전히 왕좌!
꾸준히 가장 많은 수를 자랑하지만 최근엔 살짝 주춤하는 모습

스릴러가 요즘 대세
2019년 이후 쭉쭉 치고 올라오더니, 2023년엔 거의 코미디 따라

 

6-2 . 상위 콘텐츠 생산국 대상 Top 3 장르 추출

# 
df_country_genre = df.dropna(subset=['country', 'genres'])

# 2. Split and explode
df_country_genre['country'] = df_country_genre['country'].str.split(', ')
df_country_genre['genres'] = df_country_genre['genres'].str.split(', ')
df_exploded = df_country_genre.explode('country').explode('genres')

# 3. 전체 국가별 콘텐츠 수 집계
country_total_counts = df_exploded['country'].value_counts()

# 4. 상위 10개 국가만 필터링 (필요에 따라 수 조절 가능)
top_countries = country_total_counts.head(10).index.tolist()
df_top = df_exploded[df_exploded['country'].isin(top_countries)]

# 5. 국가별 장르별 콘텐츠 수 집계
country_genre_count = df_top.groupby(['country', 'genres']).size().reset_index(name='count')

# 6. 국가별 Top 3 장르 추출
top3_genres_per_country = (
    country_genre_count.sort_values(['country', 'count'], ascending=[True, False])
    .groupby('country')
    .head(3)
    .reset_index(drop=True)
)

# 7. 보기 좋게 pivot
top3_genres_per_country['Rank'] = top3_genres_per_country.groupby('country').cumcount() + 1
top3_pivot = top3_genres_per_country.pivot(index='country', columns='Rank', values='genres').reset_index()
top3_pivot.columns = ['Country', 'Top 1 Genre', 'Top 2 Genre', 'Top 3 Genre']

# 결과 확인
print(top3_pivot)
Country Top 1 Genre Top 2 Genre Top 3 Genre
Canada Drama Thriller Comedy
China Action Drama Adventure
France Drama Comedy Thriller
Germany Drama Comedy Thriller
India Drama Action Comedy
Japan Animation Drama Action
South Korea Drama Romance Action
Spain Drama Comedy Thriller
United Kingdom Drama Thriller Comedy
United States of America Drama Comedy Thriller

국가별 장르 특성 한눈에 보기

🇺🇸 미국, 🇬🇧 영국, 🇫🇷 프랑스 등

  • 공통적으로 "Drama" + "Comedy" + "Thriller" 조합
    → 감정, 유머, 긴장감 있는 콘텐츠를 고르게 생산
    전통적인 강자 국가들, 대중성과 다양성 둘 다 갖춤

🇯🇵 일본

  • "Animation"이 1위!
    → 역시나 애니메이션 강국, 독보적인 장르 특성
    → Action, Drama도 함께 상위권

🇰🇷 한국

  • "Drama" + "Romance" + "Action"
    → 감성적인 이야기 중심 + 강한 몰입감
    → 한국 특유의 서사 중심 콘텐츠 흐름이 반영됨

🇨🇳 중국

  • "Action"이 1위, 이어서 Drama와 Adventure
    → 무협이나 스케일 큰 서사물 중심 제작 스타일

🇩🇪 독일, 🇪🇸 스페인

  • Drama 중심이지만 Thriller도 상위권
    → 사회적, 심리적 소재가 많은 편

💬 요약하면

  • "Drama"는 거의 모든 나라의 공통 1픽
  • 일본: 애니메이션 독주
  • 한국: 감정선 + 액션 강세
  • 미국/영국: 다양성의 조화

 

 

마무리 

넷플릭스에 있는 수많은 콘텐츠들, 그저 ‘많다’고만 느꼈는데
이렇게 국가별로 어떤 장르를 주로 만들고

각 나라가 가진 문화적 특성과 시청자 취향이 장르에 그대로 묻어나 있다는 게 인상 깊었습니다.
드라마는 전 세계적으로 꾸준히 사랑받는 반면,
일본의 애니메이션, 한국의 감성적 서사, 미국의 장르 다양성 등 각국의 색깔이 선명하더라고요.

 

글 읽어주셔서 감사합니다