python pandas 전처리 (범주형)

pandas 데이터 전처리 (범주형)

범주형 자료의 데이터 전처리를 하기 위해 pandas 전처리 하는 방법에 대해 정리

1. 전처리 하기 위한 데이터 검색

주어진 자료에서 범주형 데이터를 확인해야 한다.  data type을 확인하여 범주형인지 아닌지를 판단 할 수 있는데 보통 범주형 자료의 data type는 object or category 인 경우이다. category은 범주형이라고 딱 정해 놓았지만 object인 경우는 이 데이터가 범주형인지 아닌지를 판단 해야 한다.

일단 object 인 데이터만 골라본다.

사용 함수 : select_dtypes

위 함수로 object type의 column을 확인할 수 있다.

column type 을 확인하는 또다른 방법

사용함수 : dtpyes

여러가지 column이 검색되었고 그중 drive column 으로 확인

drive column에서 데이터 종류를 확인

사용 함수 : nunique

7 종류의 데이터를 가지고 있는 drive column으로 확인이 되었다.

sample 함수를 이용해 데이터 확인

2. 결측 확인

결측 데이터가 있는지 확인

사용함수 : isna

isna() 함수는 결측치가 있으면 True 로 반환해준다. True는 1로 표현이 되기 때문에 sum() 을 하게 되면 총 결측갯수를 확인할 수 있다.

사용함수 : value_counts

value_counts() 함수는 기본적으로 결측 데이터를 집계하지 않는다. 하지만 dropna 매개변수를 사용하면 결측값을 확인할 수 있다.

사용함수 : set

rangeA column의 데이터 type 는 object형의 데이터이다. object 에서 결측치는 NaN이 되고 float type로 표현된다. 결측치가 아닌 값은 문자열이 된다.

3. pandas 전처리 – (상위데이터 와 나머지 데이터로 전처리)

make column 의 데이터중에서 상위 데이터 6개, 그 외 데이터는 Other 데이터로 변환하는 전처리 과정

make column에서 ‘Chevrolet’,’Ford’,’Dodge’… 등 상위 6개 데이터 외 나머지 데이터(결측 데이터 포함) 은 other 로 변환

make 변환 데이터 chart 확인

4. 이상데이터 확인 – 숫자데이터 외 문자 데이터 확인

숫자 로 된 데이터 안에 문자 데이터가 있는지 확인하는 방법

사용함수 : str.extract(정규표현식)

정규표현식으로  ‘/’, ‘-‘ 값을 확인할 수 있다.

5. 이상 데이터 pandas 전처리

rangeA columns 의 데이터는 결측값도 포함되고 있다.

전처리 방법은 결측데이터는 0으로 변환하고, ‘-‘ 문자 기호는 ‘/’ 변환 후 ‘/’ 가 있는 데이터는 평균값을 구한다.(‘/’ 기호가 있는 데이터를 보면 30/20/40 형태로 되어있다. 30 20 40의 평균값을 구하는 것)

6. 새로운 범주형 데이터로 만들기

숫자의 열도 서로 묶어 구간으로 만들어 범주형 데이터 처럼 취급 할 수 있다.

사용함수 : cut

pd.cut 함수를 사용하여 10개의 구간으로 나눔

사용함수 : qcut(분위수절단)

동일한 크기의 구간으로자른다. rangeA column 의 경우 심하게 치우쳐 있고 대부분의 항목이 0 이다. 0을 여러개의 구간으로 정량화 할 수 없으므로 qcut을 적용할 수 없다.

city08 columns 데이터로 qcut 적용

답글 남기기