Pandas DataFrame의 특정 열에서 NaN(결측값)이 몇 번 발생했는지 확인하려면 isna() 메서드를 사용합니다. 이어서 sum() 함수로 True 값을 모두 더하면 NaN의 총 개수를 손쉽게 구할 수 있습니다.
먼저 필요한 라이브러리를 별칭과 함께 임포트합니다.
import pandas as pd import numpy as np
다음으로 DataFrame을 생성합니다. 아래 예제에서는 "Units_Sold" 열에 NumPy의 np.NaN을 사용해 결측값을 포함시켰습니다.
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
"Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
"Units_Sold": [100, np.NaN, 150, np.NaN, 200, np.NaN]
})"Units_Sold" 열의 NaN 값 개수는 다음과 같이 계산합니다.
dataFrame["Units_Sold"].isna().sum()
전체 예제 코드
지금까지의 내용을 정리한 전체 코드는 다음과 같습니다.
import pandas as pd
import numpy as np
# 데이터프레임 생성
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
"Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
"Units_Sold": [100, np.NaN, 150, np.NaN, 200, np.NaN]
})
print("Dataframe...\n", dataFrame)
# "Units_Sold" 열의 NaN 값 개수 세기
count = dataFrame["Units_Sold"].isna().sum()
print("\nCount of NaN values in column Units_Sold...\n", count)실행 결과
위 코드를 실행하면 다음과 같은 출력이 나타납니다.
Dataframe...
Car Cubic_Capacity Reg_Price Units_Sold
0 BMW 2000 7000 100.0
1 Lexus 1800 1500 NaN
2 Tesla 1500 5000 150.0
3 Mustang 2500 8000 NaN
4 Mercedes 2200 9000 200.0
5 Jaguar 3000 6000 NaN
Count of NaN values in column Units_Sold...
3추가 팁
isna() 대신 isnull()을 사용해도 동일한 결과를 얻을 수 있습니다. 두 메서드는 같은 기능을 수행하는 별칭(alias)입니다. 또한 전체 DataFrame의 모든 열에 대한 NaN 개수를 한 번에 확인하려면 dataFrame.isna().sum()처럼 열 지정 없이 호출하면 됩니다.