**해당 데이터는 제가 학원 강의를 수료하며 받은 데이터이며 원본 데이터는 기업으로부터 제공받은 데이터라서 공유할 수 없습니다.
**본문은 공부를 하며 과정을 이해하며 생각하기 위함이니 참고 해주시면 감사드리겠습니다.
## Environment : Anaconda-navigator
## Programming Language : Python 3
## Import Pandas
## import seaborn as sns
## import matplotlib as mpl
## import matplotlib pyplot as plt
## Data provided by DS school & Origin data from Kmong.
## Kmong is a company that has a dream as below.
Kmong은 "비합리적인 서비스 시장을 정보기술로 혁신하여 새로운 일자리를 만들고 사람들이 행복하게 일하는 세상을 만든다."는 미션을 가지고 있는 프리랜서 마켓 플랫폼입니다.
Kmong팀은 디자인, 마케팅, IT&개발, 컨텐츠 제작, 통번역 등 다양한 서비스 카테고리를 기반으로 직업과 직장의 경계를 허물며 사람들이 스스로 경제 주체가 되어 행복하게 일하는 세상을 만들고 있습니다.
Target
- 데이터를 불러오기 및 전반적인 정보 확인
- 불러온 데이터들을 전처리
- 데이터들 목적에 맞게 병합
이번에는 처음부터 정리했던 데이터들(수정한 lograw_log_data, funnel, category)을 기반으로 병합해보도록 하겠습니다.
** 병합 과정에 대해서 자세한 내용을 확인하시려면 링크를 참조해주세요.
(link : https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html )
raw_log_data 데이터에 사용자의 액티비티가 모두 모여져있고, 가장 중요한 정보 중 하나인 퍼널(funnel)에 대한 부연 설명이 funnel 데이터에 모여 있습니다.
그러므로 이 두개를 합친다면, 차후에 raw_log_data 데이터에서 퍼널 분석을 할 때 다른 데이터 분석가들이 더 직관적으로 데이터를 이해할 수 있을 것 같습니다.
두 개의 데이터와 연관이 있는 컬럼은 view_id라는 이름의 컬럼이며, 데이터를 합칠 때는 merge 함수를 활용하여 데이터를 합치도록 하겠습니다.
우선 데이터의 형태를 먼저 파악해보도록 하겠습니다.
print(raw_log_data.shape)
print(raw_log_data.columns)
raw_log_data.head(3)
print(funnel.shape)
print(funnel.columns)
funnel.head(3)
# log 변수 안에 들어간 데이터와 funnel 변수 안에 들어간 데이터를 하나로 병합(merge)해줍니다
# 병합하는 기준은 view_id 컬럼이 일치하는 값을 기준으로 하고
# 여기에서 추가로 how = 'left' 옵션을 넣어서 log 데이터를 기준으로 병합하는 left join을 실행합니다
# 이를 data라는 이름의 변수에 할당합니다
data = raw_log_data.merge(funnel, on = "view_id", how = 'left')
print(data.shape) # data 변수에 할당된 데이터의 행렬 사이즈를 출력합니다
print(data.columns) # data 컬럼들을 출력합니다
data.head() # data 데이터의 상위 5개를 띄웁니다
view_id를 기점으로 left merge를 통해 잘 병합 되었습니다.
다음으로 위에서 병합한 data와 category 데이터를 병합해보도록 하겠습니다.
이번에는 두 데이터가 view_id라는 공통의 컬럼을 보유하고 있던 이전과는 다르게,
data 데이터에는 in_app_event_label 컬럼이, category 데이터에는 category_id 컬럼이 서로 연관이 있습니다.
category 데이터를 확인 후 언급된 컬럼을 사용하여 두 개를 합쳐보겠습니다.
print(category.shape)
print(category.columns)
category.head(3)
# data 변수 안에 들어간 데이터와 category 변수 안에 들어간 데이터를 하나로 병합(merge)해줍니다
# 병합하는 기준은 좌측 data에서는 inappeventlabel, 우측 category에서는 category_id 컬럼이 일치하는 값을 기준으로 하고
# 여기에서 추가로 how = 'left' 옵션을 넣어서 log 데이터를 기준으로 병합하는 left join을 실행합니다
# 이를 data라는 이름의 변수에 할당합니다
data = data.merge(category, left_on = "inappeventlabel", right_on = "category_id", how = 'left')
print(data.shape) # data 변수에 할당된 데이터의 행렬 사이즈를 출력합니다
print(data.columns) # data 컬럼들을 출력합니다
data.head() # data 데이터의 상위 5개를 띄웁니다
데이터 병합이 완료되었습니다.
다음에는 모바일 플랫폼을 통해 건강관리 서비스를 제공하는 회사인 눔(Noom)의 데이터를 가지고 분석을 진행해보도록 하겠습니다.
*** 본 페이지는 본인의 공부를 위해 작성되었으며, 협찬이나 문의를 받고 기재한 내용이 아닙니다. 혹시 문의사항이 있으시거나 문제가 될 경우 연락 주시기 바랍니다.***
'데이터 분석 > Python - 정리하자' 카테고리의 다른 글
건강관리 현업 데이터로 전처리 (0) | 2024.07.06 |
---|---|
건강관리 현업 데이터로 인덱싱 (0) | 2024.07.06 |
퍼널(Funnel) 데이터를 정리 해보자 (2) | 2024.07.05 |
불필요한 컬럼 정리 해보자 (0) | 2024.07.05 |
컬럼값 정리 후 결과 확인 해보기 (0) | 2024.07.05 |