본문 바로가기

데이터 교육/파이썬

[파이썬] 실습 1: 스타워즈 - 데이터 정비(결측치 처리하기)

"순서: 데이터 탐색 - 데이터 정비 - 데이터 시각화"


[ 데이터 정비: 결측치(Null값) 처리하기]

 

01. 결측치를 처리해야 하는 이유

앞서 스타워즈 데이터를 훑어보았을 때,

총 데이터 개수 957개 중 결측치가 105로 

전체 데이터의 10% 이상의 결측치 즉, 값이 비어있는 것을 확인했다.

 

따라서 이 값들을 처리하는 단계를 가질 것이다.

 

 

 

 

 

02. NULL이 존재하는 컬럼 확인하기

(A) 어떤 컬럼에 0이 들어가 있는지를 확인하기: 함수 any(axis=0)

코드셀 sw.isnull().any(axis=0)

 

True 값이 나온 컬럼에 Null값이 존재하는 것을 확인할 수 있다.

 

 

 

(B) 컬럼별로 몇 개의 Null값이 있는 지 확인하기: .sum( )

코드셀 sw.isnull().sum()

>> hair_color, sex, gender, species의 경우 캐릭터의 개인 특성이므로 다른 값을 넣어주는 것이 의미가 없다.

따라서 결측치를 처리하지 않는다.

 

 


 

 

03. 처리가 필요한 컬럼의 NULL값 바꾸기

(A) 결측치를 0으로 바꾸기

: height와 mass에서는 결측치를 0으로 처리한다: .fillna(0, inplace=True) >>> 해석: nan 값에 0을 채운다

코드셀 sw.['height'].fillna(0, inplace=True)
sw.['mass'].fillna(0, inplace=True)

>> height와 mass에 null값이 없이 처리가 된 것을 확인할 수 있다.

 

 

 

(B) 결측치를 다른 단어로 바꾸기

- sex의 개별 값을 인출하면 [ 남성, 성별없음, 여성, 자웅동체, 결측치(빈) ] 값이 나온다

 

 

- none(성별없음)과 nan(결측치)의 차이를 확인해보면

 

종족이 Droid(로봇)인 경우 none(성별없음) 값이 나오는 것을 알 수 있다.

따라서 컬럼 내용을 robot으로 바꿔주면 바꿔주면

>> none 대신 robot이 들어가 있는 것을 확인할 수 있다.

 

 

 

 


출처: 패스트 캠퍼스 - 한 번에 끝내는 데이터 분석 초격차 패키지 Online: Python