[파이썬] pandas에서 데이터 정규화 및 표준화

데이터 분석과 머신러닝에 있어서 데이터의 정규화(Normalization) 및 표준화(Standardization)는 중요한 전처리 과정입니다. 이 블로그 포스트에서는 Python의 pandas 라이브러리를 사용하여 데이터를 정규화 및 표준화하는 방법에 대해 알아보겠습니다.

1. 데이터 정규화(Normalization)

데이터 정규화는 데이터의 크기와 범위를 일정하게 조정하는 작업입니다. 일반적으로 데이터 정규화는 0과 1 사이의 값으로 변환하는 작업을 의미합니다. 데이터 정규화는 다양한 알고리즘에서 요구되는 경우가 많기 때문에 중요한 단계입니다.

예제 코드

import pandas as pd
from sklearn.preprocessing import MinMaxScaler

# 데이터프레임 생성
data = {'A': [10, 20, 30, 40, 50],
        'B': [100, 200, 300, 400, 500],
        'C': [1000, 2000, 3000, 4000, 5000]}
df = pd.DataFrame(data)

# MinMaxScaler 객체 생성
scaler = MinMaxScaler()

# 데이터 정규화
normalized_data = scaler.fit_transform(df)

# 정규화된 데이터 출력
normalized_df = pd.DataFrame(normalized_data, columns=df.columns)
print(normalized_df)

위의 예제 코드에서는 MinMaxScaler 객체를 사용하여 데이터를 정규화합니다. fit_transform 메서드를 사용하여 데이터프레임을 정규화된 값으로 변환하고, 결과를 새로운 데이터프레임으로 출력합니다.

2. 데이터 표준화(Standardization)

데이터 표준화는 데이터의 평균을 0으로 조정하고 분산을 1로 만드는 작업입니다. 표준화된 데이터는 평균이 0이고 분산이 1인 정규분포를 따르므로, 일부 알고리즘에서 데이터 표준화가 요구됩니다.

예제 코드

import pandas as pd
from sklearn.preprocessing import StandardScaler

# 데이터프레임 생성
data = {'A': [10, 20, 30, 40, 50],
        'B': [100, 200, 300, 400, 500],
        'C': [1000, 2000, 3000, 4000, 5000]}
df = pd.DataFrame(data)

# StandardScaler 객체 생성
scaler = StandardScaler()

# 데이터 표준화
standardized_data = scaler.fit_transform(df)

# 표준화된 데이터 출력
standardized_df = pd.DataFrame(standardized_data, columns=df.columns)
print(standardized_df)

위의 예제 코드에서는 StandardScaler 객체를 사용하여 데이터를 표준화합니다. 데이터프레임을 표준화된 값으로 변환한 후, 결과를 새로운 데이터프레임으로 출력합니다.

결론

이 블로그 포스트에서는 pandas를 사용하여 데이터를 정규화 및 표준화하는 방법을 다루었습니다. 데이터의 정규화 및 표준화는 데이터 분석과 머신러닝 모델 학습에 중요한 과정이므로, 항상 고려해야 할 사항입니다. pandas와 함께 데이터 전처리를 자유롭게 수행할 수 있으며, 향후 다양한 데이터 분석 작업에 활용할 수 있을 것입니다.