무향향수

데이터 처리 본문

kt aivle

데이터 처리

튼튼한장 2024. 2. 26. 14:59

분석을 위한 기본구조: 2차원

x: feature

y: target, label

 

데이터 전처리에는 두 가지 단계가 있다.

1. 데이터 구조 만들기 (행과 열 형태로)

2. 모델링을 위한 전처리 (머신러닝, 딥러닝)

 

 

np.where(조건, 참, 거짓)

data['JobSat2'] = np.where(data['JobSat'] < 3, 'unsat', 'sat')

 

map() 메소드

범주형 값을 다른 값으로 변경하기

# Male -> 1, Female -> 0
data['Gen'] = data['Gen'].map({'Male': 1, 'Female': 0})

 

열 삭제

삭제할 때는 항상 조심해야한다.

잘못 되었을 때 되돌리기 위한 준비가 필요해!

그래서 복사본을 항상 제작해두자

data2 = data.copy()

 

drop()

행이나 열을 삭제할 때 사용한다.

삭제할 열이 여러개인 경우 리스트 형태로 작성한다.

행을 삭제 할 때 axis=1, 열을 삭제할 때 axis=0

data2.drop(['Gen', 'PctSalHike', 'TotWY'], axis=1, inplace=True)

 

 

pd.cut()

전체 범위를 균등하게 분할하는 방법

값의 범위를 균등 분할하는 것이지, 값의 개수를 균등하게 맞추는 것이 아니다.

 

#  3 등분으로 분할
age_group = pd.cut(data2['Age'], 3)

(30, 40] 100 인경우

30 < x <= 40 범위내에 있는 값이 100개라는 것을 의미한다.

 


bins = []

cut()함수에 bins=[]변수를 사용하여 직접 범위를 설정할 수 있다.

PctSalHike = pd.cut(data2['PctSalHike'], bins=[0, 13, 18, 100], labels = ['L', 'M', 'H'])

임의로 범위를 설정할 떄

-np.inf 또는 np.inf를 작성해도 좋다.

예)

PctSalHike = pd.cut(data2['PctSalHike'], bins=[-np.inf, 13, 18, np.inf], labels = ['L', 'M', 'H'])

 

 

concat()

axis = 0 일 때 동일한 열에 붙이기 (아래로 값 붙이기)

axis = 1 일 때 동일한 행에 붙이기 (옆에 값 붙이기)

pd.concat([df1, df2], axis = 0, join = 'inner')

pd.concat([df1, df2], axis = 1, join = 'inner')

 

 

display()

df를 출력할 때 print()를 사용해도 좋지만

display()를 사용하는 것이 더 보기 좋다.

'kt aivle' 카테고리의 다른 글

CRISP-DM  (0) 2024.02.26
시계열  (1) 2024.02.26
Python 프로그래밍 & 라이브러리 2  (1) 2024.02.23
1주차 Python 프로그래밍 & 라이브러리  (0) 2024.02.22
데이터 조작 이해와 실무_데이터 변경  (0) 2024.02.04