반응형
범주형 데이터는 연산이 어렵기 때문에
숫자형으로 처리 가능하게 바꿔주는 것
- 범주형 데이터의 각 범주(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로 주어
각 더미마다 첫번째 카테고리를 생략할 수도 있다.
반응형
'Pandas > 전처리' 카테고리의 다른 글
판다스 - Excel(csv) 읽어올 때 콤마(,)있는 컬럼을 정수형으로 읽어오기 : thousands (6) | 2020.07.12 |
---|---|
판다스 - 누락데이터 처리 : interpolate (0) | 2020.07.07 |
판다스 - 나이를 나이대로 범주화(카테고리화)하기 (0) | 2020.07.07 |
판다스 - 컬럼(열 or 변수)간 상관계수 : corr (0) | 2020.07.07 |
판다스 - 특잇값(outlier) 찾아내기 : Tukey Fences, Z-score (0) | 2020.06.29 |