본문으로 바로가기

[pandas] DataFrame NaN 데이터 처리

category AI/데이터분석 2020. 2. 18. 21:04
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 

NaN이란?

Not a Number의 약어

표현 불가능한 수치형 결과를 의미함.

 

 

여러가지 이유에 의해서 생겨난 NaN(결측값)이 존재하는 것을 확인할 수 있다.

 

 


NaN값 확인

info 함수를 통하여 개수 확인

isna 함수를 통해 boolean 타입으로 확인

 

 

.info( )

Age, Cabin, Embarked 는 891개가 아니며 NaN 값을 포함하고 있음을 알 수 있다.

 

 


.isna( )

각각의 element 값이 NaN인지 boolean으로 표현.

 

 

특정 컬럼에 대해서도 구할 수 있다.

 

 

 


NaN 처리방법

데이터에서 삭제 : dropna( )

다른값으로 치환 : fillna( )

 

 

dropna( ) 

row 레벨로 보다가 어떤 속성이 하나라도 NaN이면 해당 row를 삭제함.

 

 

subset 을 명시하여 NaN를 검사하고 싶은 column만을 줄 수 있다.

Cabin이 NaN인것은 관계없이 Age가 NaN이면 삭제한다.

 

 

기본적으로 dropna의 axis의 default값은 0이다. 즉, row level.

이 값을 1로 명시하게 되면 column level로 작동하게 되어

NaN값이 있는 column을 삭제해버린다.

 

 


fillna( ) : NaN값 대체하기

평균으로 대체하기

 

 

 

생존자들의 나이 평균

 

사망자들의 나이 평균

 

 

 

loc를 통해 넣어준다~

 

 

 

 

 

 

위 내용은 fastcampus 강의 내용을 정리한 것입니다.