본문 바로가기
IT 자격증/빅데이터분석기사

데이터 크기변환

by _><- 2022. 5. 19.
728x90

1. 표준크기변환

- StandardScaler 함수 : 평균값이 0, 표준편차가 1인 정규분포로 변환

import pandas as pd
 
data = pd.read_csv('파일명')

from sklearn.preprocessing import StandardScaler

temp = data[['컬럼명']]

scaler = StandardScaler()

scaler.fit_transform(temp)  // 특정 열을 입력값으로 전달

 

- 결과확인 : 쉬운 데이터처리를 위해 dataframe 타입으로 변경

df_scaler = pd.DataFrame(scaler.fit_transform(temp))

print(df_scaler.describe())

                  0
count  3.200000e+01
mean  -2.207436e-16   // 평균은 0에 근접
std    1.016001e+00    // 표준편차는 1에 근접
min   -3.193563e+00
25%   -2.077017e-01
50%   -6.981029e-02
75%    1.234161e-01
max    4.329326e+00

 

 

2. 최소최대 크기변환

- MinMaxScaler 함수 : 최솟값을 0으로 최댓값을 1의 분포로 변환

from sklearn.preprocessing import MinMaxScaler

temp = data[['컬럼명']]

scaler = MinMaxScaler()

scaler.fit_transform(temp)  // 특정 열을 입력값으로 전달

 

- 결과확인

df_scaler = pd.DataFrame(scaler.fit_transform(temp))

print(df_scaler.describe())

               0
count  32.000000
mean    0.424513
std     0.135055
min     0.000000
25%     0.396904
50%     0.415233
75%     0.440918
max     1.000000

 

 

3. 로버스트 크기변환

- RobustScaler 함수 : 중앙값이 0, 사분범위(IQR)이 1인 분포로 변환

from sklearn.preprocessing import RobustScaler

temp = data[['컬럼명']]

scaler = RobustScaler()

scaler.fit_transform(temp)  // 특정 열을 입력값으로 전달

 

- 결과확인

df_scaler = pd.DataFrame(scaler.fit_transform(temp))

print(df_scaler.describe())

               0
count  32.000000
mean    0.210832
std     3.068398
min    -9.433962
25%    -0.416442
50%     0.000000  // 중앙값은 0
75%     0.583558
max    13.285714

A = qsec_scaler.describe()
 
print(A.loc['75%'] - A.loc['25%'])  // 사분범위(IQR)은 1

0    1.0
dtype: float64

반응형