이번 글은 메타코드M의 '파이썬 입문 데이터분석 프로젝트' 영상을 보고 정리한 것이다. '현실과 동떨어진 이론은 가치가 없다'고 생각하기에 공부하는 것에 그치는 것이 아니라 실전에 활용할 수 있도록 역량을 키우는 것이 중요하다고 여긴다. 그래서 파이썬으로 분석 프로젝트를 직접 해보는 이 영상이 마음에 들었다. 본 강의에 관심이 있는 독자는 아래의 링크를 클릭하여 상세한 정보를 확인하면 된다.
강의는 colab으로 진행되는데 필요한 자료는 구글 드라이브 (링크)에서 가져올 수 있다.
Index
파이썬 데이터 분석 프로젝트 #1
이 강의는 5개의 섹션으로 나누어져 있는데 기초문법과 데이터 전처리, 데이터 시각화, EDA와 지표정의라는 3개의 틀로 분할하여 기록할 것이다.
데이터 분석은 데이터 추출 ▷ 데이터 전처리 ▷ 데이터 시각화 ▷인사이트 도출 ▷ 데이터 모델링을 통한 예측 순으로 진행된다. 여기서는 빨간색 박스에 해당하는 부분만 다루었다.
파이썬 기초문법
1. Colab 단축키
- Ctrl/Cmd + M + D: 현재 셀 삭제.
- Ctrl/Cmd + M + B: 현재 셀 아래에 새 셀을 삽입.
- Ctrl/Cmd + M + A: 현재 셀 위에 새 셀을 삽입.
- Ctrl/Cmd + M + M: 현재 셀을 마크다운 셀로 변경.
- Ctrl/Cmd + M + Y: 현재 셀을 코드 셀로 변경.
- Ctrl/Cmd + /: 코드 셀의 선택된 줄을 주석 처리.
2. f-string
x = 7
y = 2
quotient = x//y
remainder = x%y
text = f"{x} 나누기 {y}의 몫은 {quotient}이고 나머지는 {remainder}이다."
print(text)
3. if문
def compare(a, b):
if a>b:
output = "a is bigger"
elif a<b:
output = "b is bigger"
else:
output = "a, b are same"
return output
print(compare(10, 40))
4. While문
while문은 조건이 참인 코드를 반복 실행한다. 아래 예제 (100이하 3의 배수의 합)의 답은 1,683이다.
# while 루프를 사용하여 3의 배수의 합 계산
init = 0 # 초기값 0으로 설정
i = 1
while i <= 100: # 100 이하 반복
if i % 3 == 0: # 3의 배수인지 확인
init += i # 맞으면 합산
i += 1 # i 값을 증가
print(init)
데이터 전처리
grouping, pivot 등 데이터프레임을 조작하는 여러 내용을 배우지만 프로젝트의 몇몇 코드를 뜯어보며 정리하고자 한다.
1. 데이터 불러오기
from google.colab import drive
drive.mount('/content/drive')
본인의 구글 드라이브를 인식시켜 colab에서 불러오도록 한다.
2. 마케팅 데이터 전처리 자동화
- CPC: Cost Per Click
- ROAS: Return On Advertising Spend. 광고로 얻는 수익 / 광고 지출
ad['week'] = ad.date.dt.to_period('W').dt.to_timestamp()
ad.tail()
date 컬럼을 주단위로 변경하고 to_timestamp()로 해당 주의 첫째날을 출력한다.
log2 = log[~log.campaign.isna()]
log2.head()
log 데이터프레임의 campaign 컬럼에서 결측치가 없는 것을 log2로 호출한다.
od1 = pd.merge(od, log, how = 'left', left_on = 'order_id', right_on = 'order_id')
od1.head()
merge는 가로, concat은 세로 방향으로 두 데이터프레임을 결합한다. left merge는 좌측 데이터프레임의 키를 기준으로 두 데이터프레임을 병합한다.
한편, cross merge는 두 데이터프레임의 모든 조합을 만들며 병합한다.
df.pivot_table(
index = 'campaign',
columns = 'week',
values = 'ROAS'
)
ROAS 등 필요한 파생변수를 만들어 컬럼으로 만들어주고 해당 컬럼을 index와 컬럼으로 재구축하여 pivot table로 나타내는 것이 이 프로젝트의 핵심이라 할 수 있다.
Campaign 1의 ROAS는 점차 하락하고 있는 반면 Campaign 2는 증가하고 있음을 알 수 있다.
다음 글에서는 데이터 시각화에 대해 공부할 것이다.
'Python' 카테고리의 다른 글
[데이터 분석] 메타코드M '파이썬 입문 데이터분석 프로젝트 만들기' 강의 후기 (3/3) (1) | 2024.02.08 |
---|---|
[데이터 분석] 메타코드M '파이썬 입문 데이터분석 프로젝트 만들기' 강의 후기 (2/3) (0) | 2024.02.08 |