데이터 파악(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 |
컬럼 별 데이터 명세 확인
- 상점의 개수
- 상품의 개수
- 날짜의 개수
- 가장 비싼 상품
- 가장 싼 상품
- 가장 많이 팔린 상품
- 가장 적게 팔린 상품
- 상점의 개수
len(sales['shop_id'].unique())
60
- 상품의 개수
len(sales['item_id'].unique())
21807
- 날짜의 개수
len(sales['date'].unique())
1034
- 가장 비싼 상품
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
- 가장 싼 상품
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
- 가장 많이 팔린 상품
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
- 가장 적게 팔린 상품
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
'데이터분석' 카테고리의 다른 글
Feature Engineering (0) | 2021.07.07 |
---|---|
[데이터 분석] sales 데이터 전처리하기 (0) | 2021.06.30 |
[데이터 분석] 오픈 API를 통한 데이터 수집 : 행정안전부_소방서위치조회서비스 (0) | 2021.06.30 |
[데이터 분석] 사람인 채용공고 크롤링 (0) | 2021.06.30 |
[데이터 분석] 아마존 ecommerse 데이터 분석 (0) | 2021.06.30 |
댓글