반응형

 

엑셀 데이터 전처리 쉽게하기

 

www.youtube.com/watch?v=_bxFs4qTGQQ

 

import pandas as pd

 

df1 = pd.read_csv('Data01.csv') print(df1.shape) # 전체 줄 수, 컬럼 수

(15000, 7)

 

df1.head()

 

날짜상품명바코드발주가능상태입고수량카테고리출고수량

0 2019-05-16 V2_0 8.801047e+12 발주가능 384 세탁세제 72
1 2019-05-16 V2_3 8.801047e+12 발주가능 207 세탁세제 5
2 2019-05-16 V2_7 8.801047e+12 발주가능 520 헤어케어 19
3 2019-05-16 V2_11 8.801047e+12 발주가능 0 세탁세제 5
4 2019-05-16 V2_14 8.801046e+12 발주가능 96 세탁세제 1

 

df1.info() # 컬럼별 자료 정보

<class 'pandas.core.frame.DataFrame'>

RangeIndex: 15000 entries, 0 to 14999

Data columns (total 7 columns):

날짜 15000 non-null object

상품명 15000 non-null object

바코드 14992 non-null float64

발주가능상태 15000 non-null object

입고수량 15000 non-null int64

카테고리 15000 non-null object

출고수량 15000 non-null int64

dtypes: float64(1), int64(2), object(4)

memory usage: 820.4+ KB

 

df1.describe() # 숫자값 컬럼 통계

 

바코드입고수량출고수량

count 1.499200e+04 15000.000000 15000.000000
mean 1.294839e+13 58.144533 7.205200
std 5.243929e+12 348.398250 19.819656
min 6.414100e+12 0.000000 0.000000
25% 8.801046e+12 0.000000 0.000000
50% 8.801047e+12 0.000000 1.000000
75% 1.880105e+13 0.000000 4.000000
max 2.880105e+13 9777.000000 308.000000

 

df1['카테고리'].unique() # 범주형 데이터 항목

 

array(['세탁세제', '헤어케어', '주방세제', 'ST', 'F&B', '덴탈케어', '기타', '매입브랜드'], dtype=object)

 

df1['카테고리'].value_counts() # 범주형 데이터 항목 갯수

 

세탁세제 4265

덴탈케어 3115

헤어케어 2750

ST 1732

주방세제 1709

F&B 1038

매입브랜드 238

기타 153

Name: 카테고리, dtype: int64

 

df1['카테고리'].describe() # 범주형 특정 컬럼의 통계 정보

 

count 15000

unique 8

top 세탁세제

freq 4265

Name: 카테고리, dtype: object

 

df1[['발주가능상태','카테고리','상품명']].describe()

 

                                        발주가능상태                      카테고리                          상품명

count 15000 15000 15000
unique 3 8 528
top 발주가능 세탁세제 V2_114
freq 14700 4265 47

 

df1.describe().columns.tolist() # 숫자형 컬럼 리스트

 

['바코드', '입고수량', '출고수량']

 

df1.columns.tolist() # 전체 컬럼 리스트

 

['날짜', '상품명', '바코드', '발주가능상태', '입고수량', '카테고리', '출고수량']

 

total_list = df1.columns.tolist() # 전체 컬럼 리스트

numeric_list = df1.describe().columns.tolist() # 숫자 컬럼 리스트

object_list = list(set(total_list)-set(numeric_list)) # 문자 컬럼 리스트 추출

 

df1[object_list].describe() # 모든 문자형 컬럼들의 통계 정보

 

                                 상품명                      날짜                            발주가능상태            카테고리

count 15000 15000 15000 15000
unique 528 84 3 8
top V2_114 2019-05-26 발주가능 세탁세제
freq 47 226 14700 4265
  • 정렬

 

df1.sort_values(by='입고수량',ascending=False) # 특정 컬럼 기준으로 정렬 (내림차순)

 

     

 

df1.sort_values(by=['입고수량','출고수량'],ascending=[True,False]) # 여러 컬럼 기준으로 정렬

 

날짜상품명바코드발주가능상태입고수량카테고리출고수량

9091 2019-07-01 V2_86 1.880105e+13 발주가능 0 세탁세제 305
5005 2019-06-10 V2_86 1.880105e+13 발주가능 0 세탁세제 266
3831 2019-06-04 V2_86 1.880105e+13 발주가능 0 세탁세제 258
5200 2019-06-11 V2_86 1.880105e+13 발주가능 0 세탁세제 256
3218 2019-06-01 V2_86 1.880105e+13 발주가능 0 세탁세제 250
... ... ... ... ... ... ... ...
14062 2019-07-31 V2_129 8.801050e+12 발주가능 7287 덴탈케어 49
14051 2019-07-31 V2_86 1.880100e+13 발주가능 9480 세탁세제 141
13054 2019-07-23 V2_86 1.880105e+13 발주가능 9488 세탁세제 208
9719 2019-07-04 V2_86 1.880105e+13 발주가능 9539 세탁세제 205
3647 2019-06-03 V2_86 1.880105e+13 발주가능 9777 세탁세제 308

15000 rows × 7 columns

 

 

 

반응형

+ Recent posts