본문 바로가기
빅데이터분석

[헷갈리는 파이썬] Null, Na, NaN 결측치 이름 차이, isnull()과 isna()의 차이? (판다스 공식 문서 참고)

by 모닥불🔥 2024. 7. 12.

타닥타닥 모닥불🔥입니다. 오늘은 문득 코드를 치다가,

isnull().sum()은 뭐고 isna().sum()은 뭔지 궁금해졌습니다.

 

다양한 결측치 용어도 함께 정리해볼게요!


🔥 NA, NULL, NaN 차이 알아보기

1. NA(Not Available)

  • 주로 통계와 데이터 분석에서 결측값을 나타낼 때 사용됩니다.
  • 범용적인 결측값을 의미하며, 모든 데이터 타입에 대해 NA로 표기할 수 있습니다.

2. Null

  • 데이터베이스와 JSON 등에서 결측값을 나타내기 위해 사용하는 용어입니다.
  • SQL 등에서 Null은 값이 존재하지 않음을 의미합니다.
  • 프로그래밍 언어에서 null은 객체가 없음을 나타내는 값으로, JavaScript나 Java에서 사용됩니다.

3. NaN(Not a Number)

  • 주로 수치 연산에서 사용되며, 수학적으로 정의되지 않거나 계산 불가능한 값을 나타냅니다.
  • 예를 들어, 0으로 나누거나 무한대 빼기 무한대 등 불가능한 연산을 하면 결과가 'NaN'으로 나타납니다.
  • pandas에서는 NaN을 결측치로 사용합니다.
  • 수치형 데이터 컬럼(예. float 타입)에서 중간에 문자가 들어 있거나 할 때에도 NaN 으로 표시됩니다.

챗GPT에게 물어보니 대략 위와 같은 답변을 주었습니다. (필요한 부분만 요약하였습니다.)

NaN은 숫자에 대해 많이 사용된다고 하니 뭔지 모르겠을 땐 일단 NaN보다는 Null이나 NA로 표현하면 좋을 것 같네요.


🔥 isnull()과 isna()의 차이 알아보기

일단, 판다스(pandas) 공식 문서 사이트에 접속합니다. 구글에 판다스 공식 문서라고 치면 볼 수 있답니다.

 

https://pandas.pydata.org/docs/index.html

 

pandas documentation — pandas 2.2.2 documentation

API reference The reference guide contains a detailed description of the pandas API. The reference describes how the methods work and which parameters can be used. It assumes that you have an understanding of the key concepts.

pandas.pydata.org

 

접속하면 처음 보이는 창에서 스크롤을 내려 'API reference' 부분에 접속합니다.

그러면 아래와 같은 창이 뜨는데, 또 스크롤을 좀 더 하다가

 

 

 

General Functions 라는 탭을 눌러줍니다.

 

 

isna와 isnull에 대한 설명을 찾아보면, 결측값을 찾아준다고 적혀 있습니다.

https://pandas.pydata.org/docs/reference/general_functions.html

 

General functions — pandas 2.2.2 documentation

cut(x, bins[, right, labels, retbins, ...]) Bin values into discrete intervals.

pandas.pydata.org

 

각 코드를 눌러 상세 페이지에 들어가도, 동일하게 NaN, None, NaT 등 결측치에 대해 Bool 타입으로 스케일한다고 적혀 있네요. 챗 GPT가 말하길, isna()는 isnull()의 별칭(alias)이라고 합니다.

 

 

 

어찌 되었든 isnull()과 isna()의 기능은 동일하니 편한 것으로 사용하시면 되겠습니다.

 

마침 판다스 공식 문서를 찾았으니, 공식 문서를 종종 보면서 어떤 기능이 있는지 익히면 더 좋겠지요?

그럼 이만, 화르륵 :D 🔥