Pandas의 notnull() 메서드는 DataFrame에 결측값(Null)이 있는지 여부를 불리언(Boolean) 값으로 반환합니다. 해당 위치에 Null 값이 존재하면 False, 값이 정상적으로 존재하면 True를 반환합니다.
예제 데이터 준비
이번 예제에서는 일부 NaN(Null) 값을 포함하고 있는 다음과 같은 CSV 파일을 사용하겠습니다.

CSV 파일 읽기
먼저 read_csv()를 사용해 CSV 파일을 DataFrame으로 불러옵니다.
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\CarRecords.csv")notnull()로 Null 값 확인하기
다음과 같이 notnull() 메서드를 호출하여 Null이 아닌 값을 확인할 수 있습니다.
res = dataFrame.notnull()
결과 DataFrame을 출력해 보면 원본 데이터가 True와 False 형태의 불리언 값으로 표시됩니다. Null(NaN) 값이 있던 자리에는 False가, 정상적인 값이 있던 자리에는 True가 출력됩니다.
전체 예제 코드
아래는 CSV 파일을 읽고, notnull()로 결측값을 확인한 뒤, dropna()로 Null 값을 제거하는 전체 코드입니다.
import pandas as pd
# CSV 파일 읽기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\CarRecords.csv")
print("DataFrame...\n", dataFrame)
# DataFrame의 행과 열 개수 확인
print("\nNumber of rows and column in our DataFrame = ", dataFrame.shape)
# notnull()로 Null 값 검사
res = dataFrame.notnull()
print("\nDataFrame displaying False for Null (NaN) value = \n", res)
# dropna()로 Null 값 제거
dataFrame = dataFrame.dropna()
print("\nDataFrame after removing null values...\n", dataFrame)
print("\n(Updated) Number of rows and column in our DataFrame = ", dataFrame.shape)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DataFrame... Car Place UnitsSold 0 Audi Bangalore 80.0 1 Porsche Mumbai 110.0 2 RollsRoyce Pune NaN 3 BMW Delhi 200.0 4 Mercedes Hyderabad 80.0 5 Lamborghini Chandigarh NaN 6 Audi Mumbai NaN 7 Mercedes Pune 120.0 8 Lamborghini Delhi 100.0 Number of rows and column in our DataFrame = (9, 3) DataFrame displaying False for Null values = Car Place UnitsSold 0 True True True 1 True True True 2 True True False 3 True True True 4 True True True 5 True True False 6 True True False 7 True True True 8 True True True DataFrame after removing null values... Car Place UnitsSold 0 Audi Bangalore 80.0 1 Porsche Mumbai 110.0 3 BMW Delhi 200.0 4 Mercedes Hyderabad 80.0 7 Mercedes Pune 120.0 8 Lamborghini Delhi 100.0 (Updated)Number of rows and column in our DataFrame = (6, 3)
정리
notnull()은 DataFrame 내 각 요소가 Null이 아닌지를 불리언 값으로 빠르게 판별할 수 있는 유용한 메서드입니다. 이를 dropna()와 함께 사용하면 결측값을 손쉽게 식별하고 제거하여 깨끗한 데이터를 만들 수 있습니다.