오늘도 조용히 공부하는 타닥타닥 모닥불🔥
마케팅 데이터 분석 및 이번에는 제품 포트폴리오 분석 내용 정리 2번째, 필요한 컬럼을 추가한다.
이미지를 클릭하면 강의 사이트로 이동한다.
* 가입 시 5천원 주는 추천인 코드: EQQW-36EH-JY4P 추가해주시면 감사합니다.
🔥 강의 목차
오리엔테이션
파이썬 기초 문법
데이터 전처리
데이터 시각화
마케팅 데이터 분석 및 지표 정의하기
🔥 제품 포트폴리오 분석(2) 필요한 컬럼 추가
이제, 필요한 컬럼을 추가할 차례이다. 이 데이터는 head()를 출력하면 컬럼이 모두 보이지만 그렇지 않은 경우도 있으므로 df.columns로 어떤 컬럼이 있는지 확인할 수 있다.
df.columns
분석을 위해 필요한 컬럼을 생각한다. 강의에서는 순가격, 순매출, 총매출, 총비용, 단위당 할인가, 할인가격 총액을 구했다.
df['net_price'] = df.price * (1-df.discount_ratio) # 순가격
df['total_net_revenue'] = df.net_price * df.quantity # 순매출
df['total_revenue'] = df.price * df.quantity # 총매출
df['total_cost'] = df.cost * df.quantity # 총비용
df['discount'] = df.discount_ratio * df.price # 단위당 할인가
df['total_discount'] = df.discount * df.quantity # 할인가격 총액
groupby와 집계함수를 이용해 원하는 값들을 합산하고,
df_agg = df.groupby( by = ['product_id', 'category', 'price'])[[
'quantity',
'total_net_revenue',
'total_revenue',
'total_cost',
'total_discount'
]].sum().reset_index()
df_agg.head()
순이익비율(net_profit_ratio)을 계산해야 한다. 이때 비율끼리 먼저 셈을 하면 계산상 오류가 발생할 수 있으니 원래 값들을 구해서 이후 비율을 계산한다.
# net_profit_ratio 계산: 총매출액 - 총비용 - 총할인액 / 총비용 순이익률
# 총매출 대비 순이익의 비율을 나타냄
# df_agg.total_cost + df_agg.total_discount # 총 비용 합산
df_agg['net_profit_ratio']= 1- (df_agg.total_cost + df_agg.total_discount)/df_agg.total_revenue
# net_profit_profit
df_agg['total_net_profit'] = df_agg.total_revenue - df_agg.total_cost - df_agg.total_discount
# discount_ratio
df_agg['discount_ratio']= df_agg['total_discount'] / df_agg['total_revenue']
# cost_ratio
df_agg['cost_ratio'] = df_agg['total_cost'] / df_agg['total_revenue']
df_agg
이익률, 비용 비율, 할인율을 합하면 1, 즉 100%가 되어야 하므로 이를 계산, 검산한다.
# net_profit_ratio + cost_ratio + discount_ratio = 1이 되어야 하니까, 검산 컬럼 생성
df_agg.net_profit_ratio + df_agg.cost_ratio + df_agg.discount_ratio # 1이 된다.
비율 측면의 검산은 되었는데, 양(amount)적으로도 검산이 필요하다.
총 수익에서 총 할인액, 총 비용, 순수익을 제외하면 0이 되어야 하므로 이를 검산한다.
# total_revenue - total_discount - total_cost - total_net_profit = 0이 되어야 함
df_agg.total_revenue - df_agg.total_cost - df_agg.total_discount - df_agg.total_net_profit
링고 선생님 강의를 들으며 느낀 것은, 검산을 굉장히 많이 한다는 것이다. 데이터분석은 한 번 꼬이면 큰일이 나니까 나도 매 단계에서 한 작업이 끝나면 검산, 확인해야 겠다는 생각이 들었다.
'빅데이터분석' 카테고리의 다른 글
[메타코드] 파이썬 입문 데이터분석 - 제품 포트폴리오 분석 (3) 시각화 (0) | 2024.07.27 |
---|---|
[헷갈리는 파이썬] f-string과 문자열 format 메서드의 차이점은? 문자열 내 변수 삽입 (0) | 2024.07.25 |
[메타코드] 파이썬 입문 데이터분석 - 제품 포트폴리오 분석 (1) 데이터 파악 (0) | 2024.07.21 |
[헷갈리는 파이썬] Null, Na, NaN 결측치 이름 차이, isnull()과 isna()의 차이? (판다스 공식 문서 참고) (0) | 2024.07.12 |
[메타코드] 파이썬 입문 데이터분석 프로젝트 만들기 - 마케팅 데이터 전처리 & 자동화 프로젝트 (2) 전처리 (1) | 2024.06.30 |