본문으로 바로가기
728x90

1. 분석 데이터 확인

import pandas as pd

# csv 파일 로드
data = pd.read_csv('***.csv', encoding='utf-8')

# 데이터 파악
data.shape
data.head()
data.describe()
data.info()
data.hist(bins=n, figsize=(width, height))

# 수치 해석
data.count()
data.value_counts()
data.mean()
data.median()
data.std()
data.quantile(value)

# 결측치
data.isna()
data.isnull()
data.fillna(value)
data.dropno(inplace=True)

# 정렬
data.sort_values(by='column', ascending=True/False)

# 데이터 선택
data.loc['column']
data.iloc[row:col]
data.drop(['column'], axis=1)
data.qcut(data['column'], n)

2. 인코딩

X = data[data.columns[1:10]]
y = data[data.columns[:1]]

# 라벨 인코딩
from sklearn.preprocessing import LabelEncoder
X.apply(LabelEncoder().fit_transform)

# 원핫 인코딩
pd.get_dummies(X)

# 카테고리
X = X.astype('category')

3. 데이터 분할

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)

4. 정규화

from sklearn.preprocessing import MinMaxScaler / StandardScaler
scaler = MinMaxScaler() / StandardScaler()

// 한번에
X_scaled_train = scaler.fit_transform(X_train[])

// 따로
scaler.fit(X_train)
X_scaled_train = scaler.transform(X_train)
X_scaled_test = scaler.transform(X_test)
728x90