파이썬 분석 실무, 유저 Funnel 분석 - (5) 데이터 전처리
31 Oct 2018 | python 전처리python 분석 실무, 유저 funnel 분석
데이터 전처리
나중에 데이터를 탐색하거나, 데이터를 프로세싱을 진행할 때 편하도록 전처리를 진행한다. 여기에서는 데이터 값 중 같은 항목을 하나의 이름으로 통일시키고, 불필요하게 긴 데이터를 짧게 줄였다.
확장자명 통일
.value_counts()
- 해당 값들 항목별 숫자 출력해줌
.replace(dict)
- 미리 지정해둔 값으로 교체
- 바꾸고 싶은 값만 dict으로 지정하여 교체할 수 있음
df.ext.value_counts()
# PDF 82004
# DOCX 58303
# XLSX 52118
# HWP 26244
# DOC 24586
# XLS 24489
# PPTX 15385
# TXT 9814
# PPT 5382
# PPSX 2374
# ODT 820
# PPS 324
# JPG 9
# SHEET 5
# WORD 2
# PNG 2
# Name: ext, dtype: int64
ext_dic = {'DOCX': 'DOC',
'XLSX': 'XLS',
'PPTX': 'PPT',
'PPSX': 'PPT',
'PPS': 'PPT',
'ODT': 'TXT',
'PNG': 'JPG'
}
df['ext'] = df['ext'].replace(ext_dic)
df.ext.value_counts()
# DOC 82889
# PDF 82004
# XLS 76607
# HWP 26244
# PPT 23465
# TXT 10634
# JPG 11
# SHEET 5
# WORD 2
# Name: ext, dtype: int64
신규 session_id 부여
필수는 아니나, 계산량 감소를 위해 텍스트 사이즈 감량 진행
DataFrame.ix[]
- 데이터프레임의 정보를 인덱스로 호출 하는 속성값
- [_] 내부 인자로 숫자와 함께 칼럼명 같이 사용이 가능함
DataFrame.loc[]
,DataFrame.iloc[]
와 같은 indexer이지만, 숫자와 칼럼명같이 쓰는데에 유용함.- 한 행씩 돌면서 값에 처리를 할 때 유용함
.ix is exceptionally useful when dealing with mixed positional and label based hierarchical indexes.
s = [] # empty list
j = 0 # default setting
# loop
for i in range(len(df)-1):
if df.ix[i, 'sessionid'] == df.ix[i+1, 'sessionid']:
s.append(j)
else:
s.append(j)
j += 1