본문 바로가기

EDA/프로젝트

Brazil의 국민들은 어떤 상품을 소비 할까?(1) 👀

 [ 데이터는 이것을 사용 했습니다. ]

DataSet : kaggle Brazilian E-commerce by Olist

 

Brazilian E-Commerce Public Dataset by Olist

100,000 Orders with product, customer and reviews info

www.kaggle.com

 

Customer

customer_id
 :
유저 식별 번호

customer_unique_id
 :
유저 고유 식별 번

customer_zip_code_prefix
 :
유저 우편번호

customer_city
 :
유저 도시정보

customer_state
 :
유저 도시정보





Geolocation

geolocation_zip_code_prefix
 :
우편번호

geolocation_lat 
 :
위도 정보

geolocation_lng
 :
경도 정보

geolocation_city 
 : city
도시정보

geolocation_state
 : state
도시정보






Order_items

order_id
 :
주문 아이디

order_item_id
 :
한 주문당 상품 수

product_id 
 :
상품 아이디

seller_id
 :
판매자 아이디

shipping_limit_date
 :
판매자 배송제한날짜

price
 :
상품 가격

freight_value
 :
배송비


Order_payments

order_id
 :
주문 아이디

payment_sequential
 :
결제한 방법의 수

payment_type
 :
결제 종류

payment_installments
 :
할부 개월 수

payment_value
 :
결제 가격








Order_reviews

review_id
 :
댓글의 고유 식별 번호(id)

order_id
 :
주문 아이디

review_score
 :
리뷰 점수

review_comment_title 
:
리뷰 제목

review_comment_message
 :
리뷰 내용

review_creation_date
 :
리뷰 단 시간

review_answer_timestamp 
:
리뷰 답변시간




Order

order_id
 :
주문 아이디

customer_id
 :
유저 아이디

order_status
 :
주문 상태

order_purchase_timestamp
 :
주문 시간

order_approved_at
 :
주문 확정 시간

order_delivered_carrier_date
 :
도착시간

order_delivered_customer_date
 :
완료시간

order_estimated_delivery_date
 :
예상 날짜
Products

product_id
 :
상품 아이디

product_category_name
 :
상품 카테고리명

product_name_lenght
 :
상품명 길이

product_description_lenght
 :
설명서 길이

product_photos_qty
 :
설명서 이미지 갯수

product_weight_g
 :
상품 무게 (그램 단위)

product_length_cm
 :
상품 길이 (cm 단위)

product_height_cm
 :
상품 높이 (cm 단위)

product_width_cm
 :
상품 너비 (cm 단위)
Sellers

seller_id
 :
판매자 아이디

seller_zip_code_prefix
 :
판매자 우편번호

seller_city
 :
판매자 도시정보

seller_state
 :
판매자 도시정보(한 단계 상위 개념)

product_category_name 
 :
브라질 카테고리명

product_category_name_english
 :
영문 카테고리명







 

 

[데이터 전처리 하기]

1. 분석에 필요한 칼럼들만 골라서 데이터 프레임을 구성한다.

  1) order_df(메인 데이터프레임)에서 어떤 칼럼들이 존재하는지 파악한다.

  2) 존재하는 칼럼들 중에서 분석에 사용 될 칼럼들 만을 골라 준다.

 

       'order_id' ,'order_item_id','product_id', 'price', 'freight_value',       

       'payment_value','payment_installments','order_status',
       'order_purchase_timestamp', 'order_delivered_customer_date', 'product_category_name_english',
       'customer_id','customer_unique_id', 'customer_zip_code_prefix', 'lat', 'lng', 'city', 'state','category_name_kor'

 

      19개의 칼럼들을 이용하여 앞으로 데이터 분석을 실행 한다.

 

2. 존재하는 데이터들의 배송 상태의 분포 정도가 어느 정도 인지 파악해본다. 

order_df['order_status'].value_counts()

 

 

배송완료된 곳에 집중되어 있으므로 배송완료된 데이터들만 분석대상으로 삼아도 대표성에 큰 문제는 없을 것으로 판단 하였다.  order_status에서 배송완료된 데이터들만을 골라낸다.

 

order_df = order_df[order_df['order_status']=='delivered']

 

3. 판매가 각 상품에 골고루 분포되어 있는지 특정 상품에 집중 되어 있는지를 파악하여 분석 대상을 좁혀보자.

order_df.shape

(115038, 19)

 

 

sum(order_df['product_category_name_english'].value_counts()[:20])

100252

 

 

(100252/order_df.shape[0])*100

87.14685582155461

 

 

 

분석 결과 상위 20개의 품목이 전체 상품 판매에서 차지하는 비중이 87퍼센트 이상이므로 상위 20개의 품목을 분석 대상으로 선정해도 큰 문제가 없을 것이라 판단하였다.

 

4. 결측치 처리

df.isnull().sum()

 

100252의 데이터에서 결측치가 차지하는 값은  270개 정도이므로 결측치를 모두 제거하여도 분석에 큰 지장이 없다고 판단 하였다. 

 

 

df = df.dropna()

결측치 값을 모두 제가한다.

 

 

 

 

'EDA > 프로젝트' 카테고리의 다른 글

Brazil의 국민들은 어떤 상품을 소비 할까? (2)👀  (0) 2021.07.28