Pandas Index에서 NA(결측값)가 아닌 항목을 확인하려면 index.notna() 메서드를 사용하면 됩니다. 이 메서드는 각 요소가 결측값이 아닐 경우 True, 결측값(NA)일 경우 False를 반환합니다.
1. 라이브러리 불러오기
먼저 필요한 라이브러리인 pandas와 numpy를 가져옵니다.
import pandas as pd import numpy as np
2. NaN 값이 포함된 인덱스 생성
일부 NaN 값이 포함된 Pandas 인덱스를 생성해 보겠습니다.
index = pd.Index([5, 65, np.nan, 17, 75, np.nan])
생성된 인덱스를 화면에 출력합니다.
print("Pandas Index...\n", index)
이제 notna() 메서드를 호출하여 NA가 아닌 항목을 확인합니다. 결측값이 아닌 위치에는 True가 표시됩니다.
print("\nCheck which entries are not-NA...\n", index.notna())
전체 예제 코드
아래는 지금까지의 과정을 하나로 정리한 전체 코드입니다.
import pandas as pd
import numpy as np
# NaN 값이 포함된 Pandas 인덱스 생성
index = pd.Index([5, 65, np.nan, 17, 75, np.nan])
# Pandas 인덱스 출력
print("Pandas Index...\n", index)
# 인덱스의 요소 개수 반환
print("\nNumber of elements in the index...\n", index.size)
# 데이터의 dtype 객체 반환
print("\nThe dtype object...\n", index.dtype)
# NA가 아닌 항목 확인
# 결측값이 아닌 항목에는 True 반환
print("\nCheck which entries are not-NA...\n", index.notna())
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Pandas Index... Float64Index([5.0, 65.0, nan, 17.0, 75.0, nan], dtype='float64') Number of elements in the index... 6 The dtype object... float64 Check which entries are not-NA... [ True True False True True False]
정리
index.notna()는 인덱스의 각 위치별로 결측값 여부를 불리언 배열로 알려주므로, 데이터 전처리 과정에서 누락된 값의 위치를 빠르게 파악할 때 유용하게 활용할 수 있습니다. 반대로 NA인 항목만 확인하고 싶다면 index.isna() 메서드를 사용하면 됩니다.