데이터분석/Pandas&Numpy

pandas 누락값 NaN, NAN, nan

ADELA_J 2023. 6. 27. 14:40

누락값 - NaN, NAN, nan 와 같은 방법으로 표기 가능.

(누락값은 넘파이 라이브러리 필요)

 

- 0, ' ' 이랑은 다른 개념. 말 그대로 '데이터가 없다

모두가 False가 나온다. 비교할 값 자체가 없기 때문
비교할 값이 없어서 자기 자신이랑 비교해도 False

- 누락값을 확인하려면 .isnull 메서드를 사용해야함.

- 누락값이 아닌 경우도 검사할 수 있음. .notnull 메서드로 누락값이 아닌 경우를 알려줌

--- 하나의 객체만 넣을 수도 있지만 리스트로 다양한 값들을 넣어주면 boolean으로 반환해준다

< 누락값은 왜 생기는걸까>

 

1. 일단 데이터 2개를 준비해보겠음

1번째 DF은 visited / 2번째 DF는 survey

중간중간 NaN 값들이 보이긴하지만 많지는 않음. 그렇다고 해서 함부로 연결하면 안됨.

그래도 한번 합쳐봄..^^

합치니 많은 NaN값들이 생긴거를 눈에 띄게 볼 수 있음. 

 

2. 그뿐만 아니라 데이터를 입력할 때 값이 누락될 수도 있음.

 

3. 데이터를 추출할 때 존재하지 않는 데이터를 추출하면 누락값이 생길 수도 있음.

 - 일단 먼저 gapminder 파일을 불러와서 year 열로 묶고 lifeExp에 대한 평균을 구해봄

원래는 책에 이렇게 2000년부터 2009년까지 부르면 값이 없는 인덱스에는 NaN(누락값)이 나오게 

데이터 프레임이 만들어지는데 버전 업이 되어서 그런지 표는 안나오고 

KeyError: "None of [Index([(2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009)], dtype='object', name='year')] are in the [index]"

 

이와 같은 에러만 뜬다,, 없는 인덱스 불러내지 말래..☆

(개정판에는 수정되려나)

 

어찌됐든, 조건식을 활용해 불린 추출을 하게 되면 True값만 나오기 때문에 NaN없이 값이 있는 인덱스만 나올수도 있다.