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) 읽기’

- 시각화 방법으로