본문 바로가기

💻프로그래밍/python

[TIL] 2021-03-02 : pandas unique( ) ,value_counts( ) 사용법 / 데이터 인코딩 pd.get_dummies( )사용법

반응형

📌 columns에 있는 값의 종류 확인 :. unique( )  & 값의 빈도 출력 :  .value_counts( ) 

먼저 .head()를 사용하여 데이터 프레임의 구조를 확인해보자. 데이터 프레임에 있는 칼럼들 중, 'OC'칼럼에 어떤 값들이 있는지 한 번에 확인해보자.

 

 

.unique( )를 사용하여 df4의 칼럼'OC'에 어떠한 값이 있는지 알아보면, 'open', 'close'라는 object타입의 데이터들이 있음을 확인할 수 있다.

 

 

 

다음으로 .value_counts( )를 사용하여 각 값들의 빈도를 확인해보면 'open'은 270개, 'close'는 7개 들어있음을 알 수 있다.

 

 

 


📌 데이터 인코딩 :  pd.get_dummies( ) 

사이킷런의 머신러닝 알고리즘은 문자열 값을 허용하지 않기 때문에 모델링을 하기 전에 문자형 데이터들을 모두 숫자 형태로 변환해주는 작업을 해주어야 하며, 이를 '인코딩'이라고 한다. 인코딩 방법은 1) 레이블 인코딩(label encoding)과 원-핫 인코딩(One Hot encoding)이 있으며 원-핫 인코딩을 쉽게 하는 방법인 get_dummies( )의 사용법에 대해 정리하고자 한다.

 

 

get_dummies( )를 사용하면 해당 값이 있는 곳에 1, 나머지에는 0으로 채워진다.

 

 

 

➰ get_dummies( ) 실제 사용 코드

먼저 데이터프레임(df2)을 확인해본 뒤, 칼럼들 중 '성별(Sex)'에 대해 인코딩을 해보자. 이때 성별을 남자 =0, 여자=1로 변환해줄 수도 있지만, 이렇게 변환하게 되면 몇몇 알고리즘들은 이 값의 차이에 따라 여자=1이 더 큰 숫자이므로 이 값을 더 중요하게 생각하여 처리하는 경우가 발생하기 때문에 이러한 경우 원-핫 인코딩을 진행해야 한다. (트리 계열의 알고리즘은 상관없음)

 

 

 

get_dummies를 사용하는 방법은 위와 같이 괄호안에 데이터 프레임과 인코딩하고자 하는 칼럼명을 적어주면 된다.

 

 

get_dummies( )를 사용하여 원-핫인코딩을 해준 결과 해당 값이 있는 곳에는 1, 그렇지 않은 곳은 0으로 대체되었음을 알 수 있다.

 

 

 

반응형