본문 바로가기

Pandas/전처리

판다스 - 원핫인코딩 : get_dummies

반응형
범주형 데이터는 연산이 어렵기 때문에 
숫자형으로 처리 가능하게 바꿔주는 것

  • 범주형 데이터의 각 범주(category)를 컬럼 레벨로 변경
  • 해당 범주에 해당하면 1로, 아니면 0으로 채우는 인코딩 기법


    pd.get_dummies(데이터프레임, columns=[컬럼명, ...,])

 

 

 

 

데이터 불러오기

 

위 데이터프레임에서 Pclass와 성별 컬럼을 원핫인코딩을 해보자

 

 

 

 

1. Pclass 

 

우선 Pclass에는 1, 2, 3의 값만 있다.

 

 

 

 

 

즉 3개의 컬럼이 추가될 것이고, 해당 값이 있는 행에는 1을 넣어준다.

 

 

 

pd.get_dummies를 이용하니

 

기존의 Pclass 컬럼은 사라졌다.

 

 

0번행은 Pclass가 3이었으니 Pclass_3 컬럼에만 1이 있고 

 

Pclass_2, Pclass_1 컬럼에는 0만 있다.

 

 

 

 

 

drop_first=True

 

 

파라미터에 drop_first=True를 주게되면

 

Pclass_1 컬럼이 없어졌다.

 

 

이를 하는 이유는 Pclass_1의 값을 나머지 두개의 컬럼을 보고 유추할 수 있기 때문이다.

 

1번행을 보면 Pclass_2와 Pclass_3의 값이 0이므로 Pclass_1은 1이 될 것이다.

 

이렇게 첫번째 카테고리 값을 생략할 수도 있다.  

 

 

 

 

 

2. Pclass와 성별

 

 

 

columns에 복수개의 컬럼명을 넣어줄 수도 있다.

 

기존의 Pclass와 성별 컬럼은 사라졌다.

 

 

 

 

이 또한 drop_first를 True로 주어

 

각 더미마다 첫번째 카테고리를 생략할 수도 있다.

 

 

반응형