Data Engineering
Data Engineering - 데이터 랭글링 전과정 이해(week3-1)
Starters
2020. 9. 14. 17:57
오늘의 학습 목표
1. 데이터 랭글링 전과정 이해 : 사례 연습
2. 데이터 수집
3. 데이터 전처리
데이터 분석은 문제의식에서 출발
- 이 문제를 해결하기 위해 필요한 데이터는?
- 단순 과거 데이터가 아니라 관중수와 상관관계가 있는
데이터에 대한 연구부터 시작해야 한다.
- 예를 들면, 날씨와의 상관관계 등 -> EDA


1. 데이터 수집
데이터 수집 방법
- 파일로 다운 가능한지
- API로 제공되는지 (Ex - Google API)
- 웹 스크래핑
데이터의 형식
- 기계가 읽을 수 있는 데이터인지?
- csv파일 등



- csv 읽고 출력하기
import csv
f = open(‘seoul.csv’) # f : file handler
data = csv.reader(f) # data : csv reader object
for row in data: # -> iterate over lines
print( row )
f.close()

2. 데이터 전처리
데이터 전처리
- 데이터 클리닝
- 데이터 통합 (Integration) – 표준화 등
- 데이터 변환 (Transformation) – 정규화 등
데이터 클리닝
- 결측값 처리
- 중복값 처리
- 이상치 확인 및 제거

import csv
f = open('seoul.csv') # f : file handler
data = csv.reader(f) # data : csv reader object
header = next(data)
for row in data: # -> iterate over lines
row[-1] = float(row[-1]) # 데이터 변환
print( row )
f.close()


for row in data: # -> iterate over lines
if row[-1] == '': # 데이터 클리닝
row[-1] = -999
else:
row[-1] = float(row[-1]) # 데이터 변환
print( row )
f.close()


import csv
f = open('seoul.csv') # f : file handler
data = csv.reader(f) # data : csv reader object
header = next(data)
max_temp = -999
max_date = ''
for row in data: # -> iterate over lines
if row[-1] == '':
row[-1] = -999
else:
row[-1] = float(row[-1]) # 데이터 변환
# print( row )
if max_temp < row[-1]:
max_date = row[0]
max_temp = row[-1]
f.close()
print('최고기온 : ', max_date, max_temp)

EDA
Exploratory Data Analysis
- 탐색적 데이터 분석
- 수집한 데이터를 다양한 각도에서 관찰하고 이해하는 과정
- 데이터를 분석하기 전에 그래프나 통계적인 방법으로 자료를 직관적으로 바라보는 과정
EDA 과정
- ‘데이터 설명서(data description) 읽기’
- 시각화 방법으로
