본문 바로가기

카테고리 없음

[파이썬 pandas 기초] 데이터프레임 결측 값 확인하는 방법: isna(), notna()

pandas dataframe으로 데이터를 다루다 보면 데이터 중 일부가 누락되어있는 경우가 종종 있습니다. 오늘은 누락된 데이터가 존재하는지 확인하는 방법을 알아보겠습니다.

 

 

dataframe.isna() 

이 메서드는 데이터프레임 내에 결측 값을 확인하여, 그 결과를 True 또는 False로 반환합니다. NA, None, numpy.nan은 True 값에 해당하고, 그 외 나머지는 False에 해당합니다.

 

샘플 데이터프레임을 만들어서 확인해 보겠습니다.

 

df = pd.DataFrame({'name': ['Anne', 'Olaf', 'Ralph'],
                   'age': [4, 7, np.nan],
                   'hobby': [None, 'swimming', 'dance']})

df

"""
	name	age	hobby
0	Anne	4.0	None
1	Olaf	7.0	swimming
2	Ralph	NaN	dance
"""

 

데이터프레임에서 누락 값(na)이 있는지 나타냅니다.

 

df.isna()

"""
	name	age	hobby
0	False	False	True
1	False	False	False
2	False	True	False
"""

 

시리즈에서도 isna 메서드를 사용할 수 있습니다. 

 

hobby = df['hobby']
hobby

"""
0        None
1    swimming
2       dance
Name: hobby, dtype: object
"""

 

hobby.isna()

"""
0     True
1    False
2    False
Name: hobby, dtype: bool
"""

 

dataframe.notna() 

isna와 반대 결과를 반환하는 메서드입니다. 누락되지 않은 값을 찾아냅니다. 예를 들어 NA, None, numpy.nan은 True 값에 매핑되고, 그 외 경우에는 False에 해당합니다.

 

df.notna()

"""
	name	age	hobby
0	True	True	False
1	True	True	True
2	True	False	True
"""

 

hobby.notna()

"""
0    False
1     True
2     True
Name: hobby, dtype: bool
"""

 

대개의 경우에는 isna 메서드를 활용하는 경우가 훨씬 더 많습니다.

 

 

- 이 글은 아나콘다(Anaconda3)가 설치된  주피터 노트북에서 작성되었습니다.