카테고리 없음

데이터 랭글링( Data Wrangling )

ROSEV 2021. 8. 17. 16:44

데이터 랭글링이란

분석을 하거나 모델을 만들기 전에 데이터를 사용하기 쉽게 변형하거나 맵핑하는 과정입니다.

 

데이터 랭글린의 단계

  1. 데이터 수집 ( Gather ) : 데이터를 얻는 방법, 즉 다운로드와, 웹 스크레이핑, API등이 있습니다. 이를 통해 보유한 데이터가 어떠한 정보들을 포함하고 있는지, 어떠한 내용을 분석할 것인지를 판단합니다.
  2. 데이터 확인 ( Access) : 데이터가 분석하기 위한 조건에 합당한지, 합당하지 않다면 원자료(raw data)들을 계산이 쉽도록 일정 규격에 맞추어 변환
    • Completeness(널값), Validity(제약조건), Accuracy(정확성), Consistency(데이터 포맷)을 체크
    • Tidy Data가 아닌 경우, 구조화
  3. 데이터 전처리 ( Data Processing, Clean ) : 데이터의 문제점을 식별하고 수정
    • Define, Code, Test
  4. 재확인 및 반복 ( Reassess and Iterate ) : 부가적인 데이터를 추가하여 데이터의 효용성을 증가 , 데이터의 일관성, 품질 등을 확인 (2-3-4단계를 반복함)
  5. 데이터 저장 ( Store ) : 준비된 데이터를 데이터 분석 도구에 전달하고 데이터 준비 과정을 문서로 만들어 재사용할 수 있도록 저장

 

 

다양한 랭글링 방법 with Python

# 인덱싱
df[df['Age']=20]  # 20대만 인덱싱

# 그룹

MAN = df[df['Gender']='MAN'] # 남자만 인덱싱

MAN = MAN.groupby(['Age','Gender']) # 나이, 성별로 그룹

MAN = MAN.groupby(['Age','Gender']).count() # 나이, 성별 그룹 기준 카운트

MAN = MAN.groupby(['Age','Gender']).sum() # 나이, 성별 그룹 기준 합

MAN = MAN.groupby('그룹 기준 속성 1개')[보고 싶은 속성].mean()

MAN = MAN.groupby('그룹 기준 속성 1개')[보고 싶은 속성].sum()

MAN = MAN.groupby('그룹 기준 속성 1개')[보고 싶은 속성].count()

MAN = MAN.groupby('그룹 기준 속성 1개')[보고 싶은 속성].mode() # 최빈값

MAN = MAN.groupby(['그룹 기준 속성 1개', '그룹 기준 속성 1개'])[보고 싶은 속성].count()