[ 데이터는 이것을 사용 했습니다. ]
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 |
---|