Mo!
(Python) 원핫 인코딩 pd.get_dummies로 하기 본문
Python

(Python) 원핫 인코딩 pd.get_dummies로 하기

5사 2022. 6. 15.

pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)


data 적용할 데이터(리스트, 시리즈, 데이터프레임)
prefix DataFrame 열 이름에 추가할 문자 접두사
prefix_sep 접두사를 추가하는 경우 사용할 구분 기호/구분자
dummy_na False일시 결측치는 무시
drop_first 첫 번째 카테고리는 제거하여 k개의 카테코리가 아니라 (k-1)개의 카테고리를 가져올지의 여부

 

예시 1)

s = pd.Series(list('aaabbbcca'))
pd.get_dummies(s)

 

예시 2) prefix, prefix_sep

s = pd.Series(list('aaabbbcca'))
pd.get_dummies(s, prefix='알파벳', prefix_sep='_')

예시 3) dummy_na = True

import numpy as np
s1 = ['a', 'b', np.nan]
pd.get_dummies(s1, dummy_na='True')

 

예시 4) drop_first 

pd.get_dummies(pd.Series(list('aabbcca')), drop_first=True)

drop_first=True를 적용하게 되면 첫 번째 카테고리인 a 컬럼은 보이지 않는다.

이를 적용하는 이유는 나머지 두 카테고리인 b와 c를 보고 a를 유추할 수 있기 때문이다.

(b와 c가 0인 경우 a가 1이 된다)

 

Comments