챌린지의 2/3까지 와따!!
40일차

벌써 챌린지의 마지막까지 단 20일만을 남겨두고 있다!
이걸 해낼 수 있을까라고 챌린지 도전을 망설이기도 했지만
정말 아파도, 할 일이 너ㅓㅓ무 많아도, 아무것도 하기 싫어도
챌린지만은 해낸 40일이 정말 뿌듯하다!
남은 20일도 강의도 꾸준히 수강하고 블로그를 작성하며
데이터 분석 실력을 쑥쑥 키울 수 있도록 할 것이다🤩🤩🤩
오늘은 파이썬을 이용한 데이터 분석 프로젝트의 첫 시간이었다!
파이썬을 이용한 데이터 분석 프로젝트는 경험이 있는 만큼
강의 내용을 보고 따라하는 것이 아닌 좀 더 얻어가는게 많은 과정으로 만들고 싶었다.
처음의 계획보다 소요되는 시간이 좀 더 길어지더라도 더 가치 있는 시간으로 만들고 싶었다.
물론,, 생각보다 시간이 더 걸리긴 하지만,,
챌린지 동안 이 강의를 끝내고 싶었는데,,그건 안될 것 같다ㅎ
그래서 파이썬 데이터 분석 과정은 고민을 더 많이 할 수 있는 시간으로 만드려고 한다!
분석 전 질문의 경우 엑셀 강의 때처럼 데이터를 관찰한 후
강사님의 질문 이외에도 내가 분석하고 싶은 내용을 추가하였다.
이에 전처리 과정이나 분석을 먼저 진행한 후 강의를 수강하려고 한다!
이번 강의를 통해 내 파이썬 실력과 데이터 분석 실력을
모두 키울 수 있는 계기로 만들고 싶다👍
Part 3. PYTHON _ 데이터 분석 프로젝트
04. 파이썬 데이터 분석 프로젝트
2. 영화 데이터를 활용한 영화 흥행 요인 분석
1) 데이터 둘러보기
head()
- movies
- credits
info()
- 50% 이상의 결측치 有 컬럼: movies_homepage
·
→ 컬럼
< movies 데이터 >
- budget: 영화 예산 (단위: 달러)
- genres: 모든 장르 → dictionary
- homepage: 공식 홈페이지
- id: 각 영화당 unique id
- original_language: 원 언어
- original_title: 원 제목
- overview: 간략한 설명
- popularity: TMDB에서 제공하는 인기도
- production_companies: 모든 제작사 → dictionary
- production_countries: 모든 제작국가 → dictionary
- release_date: 개봉일
- revenue: 흥행 수익 (단위: 달러)
- runtime: 상영 시간
- spoken_language: 사용된 모든 언어
- status: 개봉 여부
- title: 영문 제목
- vote_avearage: TMDB에서 받은 평점 평균
- vote_count: TMDB에서 받은 투표수
<credits 데이터>
- movie_id: 각 영화당
- unique idtitle: 영문 제목
- cast: 모든 출연진 → dictionary
- crew: 모든 제작진 → dictionary
2) 질문 만들기
분석 주제: 영화 흥행 요인 분석
연도별 흥행 수익은?
가장 흥행한 영화 TOP 10은?
흥행에 가장 성공한 감독과 배우는?
장르와 흥행 수익
- 흥행 수익이 좋은 장르는?
- 시간의 흐름에 따라 유행하는 장르가 바뀌는가?
- 월별로 흥행하는 장르가 있는가?
수익과 예산, 투표수, 평점과의 상관관계는?
ROI(예산 대비 수익)가 높으면서 흥행에 성공한 영화의 특징은?
+ 인기도와 흥행 수익의 상관관계
3) 데이터 전처리
① 필요 컬럼 추출
- budget, revenue, popularity, release_date, vote_avearage, vote_count., genres, id, title
- movie_id, cast, crew,
② 데이터 결합
id, movie_id를 기준으로 merge
data = pd.merge(movies_df, credits_df, left_on='id', right_on='movie_id').drop('movie_id', axis=1)
data.head()
* merge vs join : merge는 컬럼 기준 결합, join은 인덱스 기준 결합
③ 필요 컬럼 생성
- 연도
- 월
- ROI
- 감독
- 배우
- 메인 장르
* ast.literal_eval: 문자열 형태의 자료형을 파이썬 자료형으로 변환
* 함수를 만든 후 apply를 통해 컬럼에 적용
def get_director(x):
for i in x:
if i['job'] == 'Director':
return i['name']
data['director'] = data['crew'].apply(get_director)
+ 위 식을 lamda를 사용하여 표현하기
data['director_lambda'] = data['crew'].apply(lambda x: next((i['name'] for i in x if i['job'] == 'Director'), None))
next() 함수는 이터레이터에서 다음 아이템을 가져오는 함수.
여기서는 조건을 만족하는 첫 번째 요소만 필요하기 때문에 사용됨.
만약 조건을 만족하는 요소가 없다면, None을 반환
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
'Challange' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 42일차 미션 (3월 13일) : 데이터 분석 Master Class 강의 후기 (0) | 2024.03.13 |
---|---|
패스트캠퍼스 환급챌린지 41일차 미션 (3월 12일) : 데이터 분석 Master Class 강의 후기 (2) | 2024.03.12 |
패스트캠퍼스 환급챌린지 39일차 미션 (3월 10일) : 데이터 분석 Master Class 강의 후기 (0) | 2024.03.10 |
패스트캠퍼스 환급챌린지 38일차 미션 (3월 9일) : 데이터 분석 Master Class 강의 후기 (0) | 2024.03.09 |
패스트캠퍼스 환급챌린지 37일차 미션 (3월 8일) : 데이터 분석 Master Class 강의 후기 (0) | 2024.03.08 |