본문 바로가기
데이터분석

[데이터 분석] sales 데이터 분석

by CodingKwon 2021. 6. 30.

데이터 파악(EDA)

  • 데이터의 전반적인 파악
  • 컬럼별 값 파악
  • 이상치, 결측치 등 파악

데이터 불러오기

import pandas as pd
sales = pd.read_csv('data/sales.csv')

데이터 전체적인 정보 확인

sales.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2935849 entries, 0 to 2935848
Data columns (total 5 columns):
 #   Column        Dtype  
---  ------        -----  
 0   date          object 
 1   shop_id       int64  
 2   item_id       int64  
 3   item_price    float64
 4   item_cnt_day  float64
dtypes: float64(2), int64(2), object(1)
memory usage: 112.0+ MB
# 결측치 확인
sales.isnull().sum()
date            0
shop_id         0
item_id         0
item_price      0
item_cnt_day    0
dtype: int64
sales.head()
  date shop_id item_id item_price item_cnt_day
0 02.01.2013 59 22154 999.00 1.0
1 03.01.2013 25 2552 899.00 1.0
2 05.01.2013 25 2552 899.00 -1.0
3 06.01.2013 25 2554 1709.05 1.0
4 15.01.2013 25 2555 1099.00 1.0

컬럼 별 데이터 명세 확인

  1. 상점의 개수
  2. 상품의 개수
  3. 날짜의 개수
  4. 가장 비싼 상품
  5. 가장 싼 상품
  6. 가장 많이 팔린 상품
  7. 가장 적게 팔린 상품

 

 

  1. 상점의 개수
len(sales['shop_id'].unique())
60
  1. 상품의 개수
len(sales['item_id'].unique())
21807
  1. 날짜의 개수
len(sales['date'].unique())
1034
  1. 가장 비싼 상품
item_g = sales[sales['item_price']>0].groupby('item_id')
item_g['item_price'].max().sort_values(ascending=False)[:10]
item_id
6066     307980.0
11365     59200.0
13199     50999.0
7241      49782.0
13403     42990.0
7238      42000.0
14173     40900.0
2410      36990.0
5748      36990.0
13404     35990.0
Name: item_price, dtype: float64
  1. 가장 싼 상품
item_g = sales[sales['item_price']>0].groupby('item_id')
item_g['item_price'].min().sort_values(ascending=True)[:10]
item_id
11865    0.0700
11864    0.0700
20146    0.0875
11872    0.0900
11870    0.1000
11868    0.1000
11867    0.1000
11866    0.1000
11863    0.1000
11862    0.1000
Name: item_price, dtype: float64
  1. 가장 많이 팔린 상품
item_g = sales[sales['item_cnt_day']>0].groupby('item_id')
item_g['item_cnt_day'].sum().sort_values(ascending=False)[:10]
item_id
20949    187660.0
2808      17255.0
3732      16676.0
17717     15830.0
5822      14522.0
3734      11733.0
6675      10315.0
3731      10105.0
1855      10041.0
16787      9255.0
Name: item_cnt_day, dtype: float64
  1. 가장 적게 팔린 상품
item_g['item_cnt_day'].sum().sort_values(ascending=True)[:10]
item_id
0       1.0
7149    1.0
7150    1.0
7151    1.0
7153    1.0
7158    1.0
7160    1.0
7163    1.0
7167    1.0
7174    1.0
Name: item_cnt_day, dtype: float64

댓글