본문 바로가기
데이터 분석 도전기

파이썬 데이터 분석 시리즈 11편: 데이터 클린징과 전처리

by 프로 탈출러 2023. 6. 19.
반응형

파이썬 데이터 분석 시리즈 11편: 데이터 클린징과 전처리

데이터 분석을 시작하기 전에 필수적인 과정이 있습니다. 바로 '데이터 클린징'과 '데이터 전처리'입니다. 이 두 과정은 원시 데이터를 분석하기 좋은 형태로 변환하는 작업이며, 이를 통해 데이터의 품질을 향상시킬 수 있습니다.

데이터 클린징이란?

데이터 클린징은 데이터에서 오류, 중복, 불완전한 정보 등을 찾아내고 이를 수정하거나 제거하는 과정을 의미합니다. 예를 들어, 같은 사람의 정보가 두 번 입력되었다면 중복을 제거하는 것, 주소 정보가 잘못 입력되었다면 이를 올바르게 수정하는 것 등이 데이터 클린징의 일부입니다.

데이터 전처리란?

데이터 전처리는 데이터 클린징 후에 이루어지며, 데이터를 분석에 적합한 형태로 변환하는 과정을 의미합니다. 이 과정에서는 불필요한 정보의 제거, 변수의 변환, 결측치 처리 등이 이루어집니다.

데이터 클린징과 전처리의 종류

다양한 종류의 데이터 클린징과 전처리 방법이 있습니다. 이 중 몇 가지를 살펴보도록 하겠습니다.

1. 결측치 처리

결측치는 데이터셋에서 중요한 값이 누락된 경우를 가리킵니다. 결측치는 데이터셋의 일관성을 해칠 수 있으므로, 적절한 값으로 대체하거나 해당 데이터를 삭제하는 등의 처리가 필요합니다.

예제 코드


import pandas as pd
import numpy as np

# 임의의 데이터셋 생성
df = pd.DataFrame({
    'A': [1, 2, np.nan],
    'B': [5, np.nan, np.nan],
    'C': [1, 2, 3]
})

# 결측치를 0으로 대체
df.fillna(value=0)

2. 이상치 검출

이상치는 일반적인 범위에서 벗어난 값들을 의미합니다. 이상치는 데이터 분석 결과를 왜곡시킬 수 있으므로, 적절한 처리가 필요합니다. 이상치를 찾아내는 방법에는 통계적 방법, 머신러닝 방법 등 다양하게 있습니다.

예제 코드


import seaborn as sns

# 데이터셋 로드
df = sns.load_dataset('iris')
sns.boxplot(x=df["sepal_width"])

3. 데이터 형식 수정

데이터의 형식이 일관성 없이 적용된 경우, 데이터 분석에 어려움이 발생할 수 있습니다. 이를 위해 모든 데이터를 일관된 형식으로 변환하는 과정이 필요합니다.

예제 코드


# 'date' 열이 문자열로 되어 있는 경우 이를 datetime으로 변환
df['date'] = pd.to_datetime(df['date'])

4. 데이터 스케일링

데이터의 범위가 크게 차이나는 경우, 모델의 학습에 어려움이 발생할 수 있습니다. 이런 경우 데이터 스케일링을 통해 모든 데이터를 동일한 범위로 변환할 수 있습니다.

예제 코드


from sklearn.preprocessing import StandardScaler

# 스케일러 생성
scaler = StandardScaler()

# 데이터 스케일링
df_scaled = scaler.fit_transform(df)

각 전처리 방법은 상황에 따라 적합한 방법이 다르며, 때로는 두 가지 이상의 방법을 복합적으로 사용하는 것이 필요할 수도 있습니다. 이를 잘 판단하고 적용하는 것이 중요합니다.

반응형
LIST