Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Pandas - DataFrame 특정 열의 NaN(결측값) 개수 세는 방법

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()처럼 열 지정 없이 호출하면 됩니다.