생활정보

파이썬 데이터 전처리 총정리

Trevor90 2023. 11. 17. 09:40
728x90
반응형


안녕하세요
오늘은 파이썬 데이터 분석에서
데이터 전처리 방법을 정리해 보겠습니다.
싸이킷런과 판다스 패키지를 사용합니다.

1. 결측치 최빈값으로 채워넣기

# 결측치 최빈값으로 채워 넣기
m = df['colname'].mode()[0]
df['colname'] = df['colname'].fillna(m)


2.  특정 컬럼 결측치 있는행 삭제

df=df.dropna(subset = ['colname1', 'colname2'])


3. 특정 컬럼 삭제

df = df.drop(['colname1'], axis=1)


4. 중복값 제거

df = df.drop_duplicates()


5. 스케일링

  아래 코드는 최소최대 스케일링입니다.
다른 스케일링은 MinMaxScaler() 대신
해당하는 메소드를 입력하세요

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
train['colname'] = scaler.fit_transform(train['colname'])
test['colname'] = scaler.transform(test['colname'])
  • 표준화 : StandardScaler()
  • 로버스트 : RobustScaler()


6. 로그 변환

import numpy as np
df['colname'] = np.log1p(df['colname'])


7. 인코딩

  7-1. 라벨인코딩

# 1. scikit learn 패키지 사용
cols = ['colname1', 'colname2', ...]
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
for col in cols:
    train[col] = le.fit_transform(train[col])
    test[col] = le.transform(test[col])
#2. categorical 메서드 사용
df['colname'] = df['colname'].astype(category).cat.codes


7-2. 원-핫 인코딩

import pandas as pd
df['colname'] = pd.get_dummies(df['colname'])


8. 데이터 합치기

import pandas as pd
df_new = pd.concat([df1, df2], axis=1)


지금까지 파이썬 데이터 분석 전처리 방법을
총정리해보았습니다.

728x90
반응형