데이터 분석 미니 프로젝트
Colab을 사용해 OTT 서비스 'Netflix'의 데이터 EDA를 이어서 진행했다.
먼저 분석하고자 하는 주제를 정하고 하나씩 코드를 입력해 보면서 오류가 뜨거나 모르는 부분은 구글링과 ChatGPT를 사용해 해결해 나갔다. 아직은 아예 처음부터 코드를 만들기보단 다른 사람들이 만든 코드를 보면서 따라 하거나 조금 응용해 보는 정도지만 오류를 직접 해결하고 다시 코드를 살펴보는 과정에서 많은 공부가 되었다.
nunique() : 데이터프레임의 특정 열에서 고유한 값의 개수를 세는 함수, SQL의 DISTINCT와 유사한 역할
to_datetime() : 특정 형식의 날짜 문자열, 정수 또는 시간 정보를 Pandas의 'Timestamp' 객체로 변환
.dt.year : 년도 추출. 외에도 .dt 속성을 이용해 날짜와 시간 정보 추출 가능
str.strip() : 문자열 양쪽(시작과 끝)의 공백 제거
drop_duplicates() : 중복된 행 제거, 'subset' 매개변수를 사용하여 특정 열 또는 열의 조합을 기반으로 중복 확인 가능
sort_values() : 특정 열의 값을 기준으로 정렬, 'ascending' 매개변수를 사용하여 오름차순/내림차순 정렬 여부 지정
>> 이렇게 하나의 데이터에 여러 정보가 들어있는 경우
각각의 데이터를 분리하는 방법은 다음과 같다.
데이터 중첩 해제
1) unnest_dateframe
def unnest_dataframe(df, column):
return (
df.drop(column, axis=1)
.join(
df[column].str.split(',', expand=True)
.stack()
.reset_index(level=1, drop=True)
.rename(column)
)
)
- df.drop(column, axis=1) : 주어진 column 삭제
- .join( ) : 새로운 데이터프레임을 기존 데이터프레임에 결합
- df[column].str.split(',', expand=True) : 주어진 column 값을 쉼표로 분할하여 새로운 열로 생성. ‘expand=True’는 분할된 값을 새로운 열로 배치하도록 지정
- .stack() : 열의 값을 행으로 쌓아 올림. 하나의 행에 여러 값을 가진 경우 각각의 행으로 만들어 중첩을 해제
- .reset_index(level=1, drop=True) : 중첩 해제된 행의 인덱스 재설정. ‘level=1’은 특정 레벨의 인덱스를 재설정하라는 의미이고, ‘drop=True’는 현재 인덱스 삭제하라는 의미
- .rename(column) : 새롭게 생성된 열에 대해 이름을 다시 지정
2) explod() 함수
netflix_data_f['countries_list'] = netflix_data['country'].str.split(',')
expanded_countries = netflix_data_f.explode('countries_list')
expanded_countries['countries_list'] = expanded_countries['countries_list'].str.strip()
- 'country' 컬럼의 데이터를 쉼표로 구분하여 리스트 생성
- 리스트의 각 데이터를 행 단위로 확장
- 시작과 끝 공백 제거
[미니 프로젝트] Netflix 데이터 분석 (1) - 데이터 확인
1. 주제 선정 OTT 서비스 'Netflix' 데이터 분석 EDA Kaggle의 데이터셋을 둘러보다가 넷플릭스 데이터가 눈에 들어왔다. 평소 영화 감상을 좋아해서 극장과 OTT 서비스에도 관심을 가지고 있는데 누구
seonah-til.tistory.com
[미니 프로젝트] Netflix 데이터 분석 (2) - EDA 및 결론
5. 데이터 시각화 1) 콘텐츠 유형 분석 #유형별 콘텐츠 수 count unique_movies = netflix_data[netflix_data['type']=='Movie']['title'].nunique() unique_tv_shows = netflix_data[netflix_data['type']=='TV Show']['title'].nunique() unique_movies
seonah-til.tistory.com
'Today I Learned' 카테고리의 다른 글
231226 / 데이터 분석 부트캠프 6일차 (내일배움캠프 Data_1기) (0) | 2023.12.26 |
---|---|
231222 / 데이터 분석 부트캠프 5일차 (내일배움캠프 Data_1기) (0) | 2023.12.22 |
231220 / 데이터 분석 부트캠프 3일차 (내일배움캠프 Data_1기) (1) | 2023.12.20 |
231219 / 데이터 분석 부트캠프 2일차 (내일배움캠프 Data_1기) (0) | 2023.12.19 |
231218 / 데이터 분석 본캠프 1일차 (내일배움캠프 Data_1기) (0) | 2023.12.18 |