IT_developers

Python 데이터 분석(주피터 노트북) - 브라질 쇼핑몰 본문

Python

Python 데이터 분석(주피터 노트북) - 브라질 쇼핑몰

developers developing 2022. 12. 11. 12:00

데이터 출처

  • 브라질에서 가장 큰 백화점의 이커머스 쇼핑몰
  • 2016 ~ 2018년도 100k 개의 구매 데이터 정보
  • 구매상태, 가격, 지불수단, 물류 관련, 리뷰관련, 상품정보, 구매자 지역 관련 정보
  • url : https://olist.com/pt-br/

 

라이브러리 및 세팅

  • import seaborn as sns
  • seaborn 폰트 사용 - 한글처리보다 먼저 선언해야함
    • sns.set(font_scale=1)
  • seaborn 스타일의 그래프를 사용
    • plt.style.use('seaborn')
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • 한글처리
    • plt.rcParams['font.family'] = 'Malgun Gothic'
    • plt.rcParams['axes.unicode_minus'] = False
  • 경고 메세지
    • import warnings
    • warnings.simplefilter("ignore")
  • import plotly.express as px
  • import plotly.graph_objects as go

 

탐색적 데이터 분석(EDA)

  • 수집한 데이터를 특성을 관찰하고 이해하는 단계(info, shape, ..)
    • 데이터 크기 확인
    • 데이터 구성요소의 속성 확인
      • 수치형 : describe()
      • 범주형 : 범주별 갯수 세기
      • 시각화 : 수치형(boxplot, histogram), 범주형(bar, pie), 시계열(line, bar), feature 상관관계(heatmap, scatter)

pandas.Grouper

 

1. 고객 거주지

데이터로드

  • customer_id : 고객아이디
  • customer_unique_id : 유니크 아이디
  • customer_zip_code_prefix:우편번호
  • customer_city : 거주지

 

데이터 탐색

  • null 데이터는 없음
  • customer_unique_id : 중복된 아이디가 있음
  • customer_id : 고객 정보를 가지고 올 때 그냥 id 사용. 중복된 값이 없음

1) 거주지 기준으로 그룹

1-1) 거주지 기준으로 그룹 시각화

2) 고객이 주로 사는 지역 top 20

2-1) 고객이 주로 사는 지역 top20 시각화

 

2. 고객들의 지불 방법

데이터 로드

데이터 전처리

1) not_defined 값을 가진 행 삭제

  • payment_type 값 확인
  • 중복제거 값 확인
  • 갯수 확인

 

데이터 탐색

1)  지불 방법

1-1) 지불 방법 시각화

  • pie, countplot

2) 주문 아이디 ('order_id')가 있는 지불 방법

2-1)  주문 아이디 ('order_id')가 있는 지불 방법 시각화

 

3. 평균 거래액

데이터 로드

 

데이터 전처리

1) null 데이터 삭제 후 반영

 

데이터 탐색

1) 월별 분석

  • orders의 구매 날짜와 payments의 총 구매 금액을 대상으로 월별 평균 거래액 구하기
  • payments의 order_id 중복 값확인

  • 중복된 order_id에 대한 지불 가격 합치기(29건)
    • 동일한 order_id 에 대한 payment_value 합치기

  • payments와 orders ==>merge : merge_order 생성
    • order_id가 일치하면

  • order_purchase_timestamp ==> datetime 타입으로 변환

1-1) 월별 거래액

1-2) 월별 평균 거래액

1-3) 월별 평균 거래액 시각화

1-4) 최대 거래액을 기록한 월

1-5) 월별 거래 건수

1-6) 월별 거래 건수 시각화

2) 일별 분석

2-1) 일별 거래 합 시각화

2-2) 일별 거래 건수

2-3) 일별 거래 건수 시각화

 

※ 시간대별 분석 컬럼 생성

3) 연도별 분석

3-1) 연도별 매출액

3-2) 연도별 매출액 시각화

4) 요일별 분석

4-1) 요일별 매출액 합계

4-2) 요일별 매출액 시각화

5) 분기별 분석

5-1) 분기별 매출액

5-2) 분기별 매출액 시각화

6) 시간대별 분석

6-1) 시간대별 매출액 합계

6-2) 시간대별 매출액 시각화

7) 분(minutes)별 분석

7-1) 분별 시각화

8) 요일/시간간 거래액 상관관계

8-1) 요일/시간간 거래액 상관관계 시각화

 

4. 카테고리

  • 카테고리별로 어느 제품이 주문을 많이 받았는지 확인

데이터로드

  • 카테고리 이름
  • 상품
  • 주문 내역관련

데이터 전처리

1) 필요한 테이블 만들기

데이터 탐색

1) 카테고리 별 분석

1-1 ) 카테고리별 분석 시각화

 

5. 평균 배송 시간

1) 배송시간

  • order_delivered_customer_date - order_purchase_timestamp
  • 타입 변경

1-1) 배송시간 시각화

2) 월별 평균 배송 시간

2-1) 월별 평균 배송 시간 시각화

Comments