pandas기초 _ 데이터 전처리(EDA란, Data Preprocessing)
Python

pandas기초 _ 데이터 전처리(EDA란, Data Preprocessing)

728x90

◎ Pandas로 데이터 셋을 불러오기

- Description을 통해 데이터셋에 대한 정보를 파악한다.

  • 행과 열의 수
  • 열에 헤더가 있는지 ("데이터 이름"이 있는지?)
  • 결측 데이터 (Missing data)가 있는지 확인
  • 원본의 형태를 확인하기 : 우리가 기대하던 형태가 아닐 수도 있다.

데이터셋을 확인하는 방법. (Colab 에서 read_csv)

import pandas as pd

# 
ktng_data_url = 'https://ds-lecture-data.s3.ap-northeast-2.amazonaws.com/kt%26g/kt%26g_0.csv'

# pandas라이브러리의 read_csv로 csv파일 변수에 저장
df = pd.read_csv(ktng_data_url) 

df.head()

칼럼 추가

위 데이터 확인하면 1열이 칼럼으로 지정되어있기 때문에 칼럼추가 필요

column_headers = ['분기','매출액','영업이익','영업이익(발표기준)','세전계속사업이익',
                  '당기순이익','당기순이익(지배)','당기순이익(비지배)','자산총계','부채총계',
                  '자본총계','자본총계(지배)','자본총계(비지배)','자본금','영업활동현금흐름',
                  '투자활동현금흐름','재무활동현금흐름','영업이익률','순이익률','ROE(%)',
                  'ROA(%)','부채비율','자본유보율','EPS(원)','PER(배)']

df = pd.read_csv(ktng_data_url, names = column_headers)

df.head()


◎ EDA (Exploratory Data Analysis)

EDA란, 데이터 분석에 있어서 매우 중요한, 초기 분석의 단계를 의미하며

  • 시각화 같은 도구를 통해서 패턴을 발견하거나
  • 데이터의 특이성을 확인하거나
  • 통계와 그래픽 (혹은 시각적 표현)을 통해서 가설을 검정하는 과정 등을 포함한다.

EDA의 방법은 크게 2가지 (Graphic, Non-Graphic) 으로 나눠질 수 있으며

  • Graphic : 차트 혹은 그림 등을 이용하여 데이터를 확인하는 방법이다.
  • Non-Graphic : 그래픽적인 요소를 사용하지 않는 방법으로, 주로 Summary Statistics를 통해 데이터를 확인하는 방법이다.

- Uni - Non Graphic

Sample Data의 Distribution을 확인하는 것이 주목적이다.

Numeric data의 경우 summary statistics를 제일 많이 활용하는데요. 이에는

  • Center (Mean, Median, Mod)
  • Spread (Variance, SD, IQR, Range)
  • Modality (Peak)
  • Shape (Tail, Skewness, Kurtosis)
  • Outliers 등을 확인합니다.

Categorical data의 경우 occurence, frequency, tabulation등을 할 수 있다.

Statistic / CollegeH&SSMCSSCSOtherTotal

Statistic / College H&SS MCS SCS Other Total
Count 5 6 4 5 20
Propotion 0.25 0.3 0.2 0.25 1
Percent 25% 30% 20% 25% 100%

- Uni - Graphic

Histogram 혹은 Pie chart, Stem-leaf plot, Boxplot, QQplot 등을 사용한다.

그러나 만약 값들이 너무 다양하다면, Binning, Tabulation등을 활용 할 수도 있다.

 


◎ Data Preprocessing (데이터 전처리)

수집한 데이터들을 사용하기 전에 가공하는 작업

  • Cleaning
  • Integration
  • Transformation
  • Reduction

Garbage In Garbage Out

- Cleaning

noise 를 제거하거나, inconsistency 를 보정하는 과정을 의미한다.

데이터의 정확도, 완성도, 일관성, 신뢰성과 같은 값이 빠져있거나, 잘못 입력되거나 혹은 일관성을 가지지 않는

데이터들을 제거 / 보정 하는 과정들이 포함되어 있다.

- Integration

여러개로 나누어져 있는 데이터들을 분석하기 편하게 하나로 합치는 과정을 의미한다.

예시로 merge와 concate가 있다.

- Transformation

데이터의 형태를 변환하는 작업으로, scaling이라고 부르기도 한다.

예시로 정규화(normalize)가 있다.

 

- Reduction

데이터를 의미있게 줄이는 것을 의미하며, dimension reduction과 유사한 목적을 갖는다.

예시로 PCA가 있다.

 

데이터 전처리는 데이터를 활용하는 분야의 가장 기초이다. 

기초부터 확실히 알고가야할 것이다.

 

 

728x90