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)가 설치된 주피터 노트북에서 작성되었습니다.