본문 바로가기

Pandas/기초

판다스 - 카테고리 자료형 : Categorical, cat 속성, categories, codes, categorical 메서드

반응형
Pandas에는 정수 기반의 범주형 데이터를 표현(인코딩)할 수 있는 

Categorical형이라고 하는 특수한 데이터형이 존재한다.

 

 

 

 

데이터프레임 제작

 

 

 

 

fruit 컬럼을 카테고리형 시리즈로 제작

 

 

fruit 컬럼은 파이썬 문자열 객체의 배열로 쉽게 범주형으로 바꿀 수 있다.

 

 

 

 

 

 

 

Categorical 인스턴스

 

 

 

 

 

 

Categorical 객체는 categories와 codes 속성을 가진다.

 

 

 

 

 

만약 apple, orange, banana였으면 codes는 2 값도 가졌을 것이다.

 

 

 

 

 

 

컬럼을 범주형으로 변경

 

 

변경 완료된 값을 대입해서 DataFrame의 컬럼을 범주형으로 변경할 수 있다.

 

 

 

 

 

 

 

Categorical 메서드

 

범주형 데이터를 담고 있는 Series는

특화된 문자열 메서드인 Series.str과 유사한

특수 메서드인 cat 속성이 있다.

이를 통해 categories와 codes나 categorical 메서드 등에 쉽게 접근할 수 있다.

 

 

시리즈 제작

 

카테고리 자료형이다.

 

 

 

 

시리즈에 바로 categories나 codes를 사용하면 에러가 발생한다.

 

이때 이용하는 것이 cat 속성이다.

 

 

 

 

 

cat 속성 이용

 

 

 

 

 

set_categories

 

카테고리를 변경하거나 추가, 삭제하는 작업을 진행할 때 이용한다.

 

 

값은 e가 없지만 카테고리에는 e가 추가되었다.

 

 

 

 

 

 

기존 시리즈와 비교

 

 

 

 

 

 

 

 

remove_unused_categories()

 

데이터 분석/처리 과정에서 큰 DataFrame이나 Series를 정제하게 되면

실제로 데이터에는 없는 카테고리가 남아있는 경우가 있다.

그런 카테고리를 삭제할 때 이용한다.

 

 

 

실제 데이터는 a, b만 있으나

 

카테고리는 c, d를 포함하고 있다.

 

 

 

 

 

관측되지 않는 카테고리 제거

 

 

 

 

 

 

 

 

다른 categorical 메서드

 

메서드 설명
add_categories 기존 카테고리 끝에 새로운 카테고리 추가
as_ordered 카테고리가 순서를 가지도록 함
as_unordered 카테고리가 순서를 가지지 않도록 함
remove_categories 카테고리를 제거,

해당 카테고리에 속한 값들은 null로 설정됨
remove_unused_categories 데이터에서 관측되지 않는 카테고리 삭제
rename_categories 카테고리 이름을 지정한 이름으로 변경
reorder_categories rename_categories와 유사하나,

새로운 카테고리가 순서를 가짐
set_categories 카테고리를 지정한 새로운 카테고리로 변경

카테고리 추가 혹은 삭제 가능
반응형