728x90
DataFrame에 결측치(NaN)가 들어 있는 라인을 추출하고 싶은 경우 어떻게 해야할 지 알아보겠습니다.
데이터 프레임 결측치 확인 방법
우선 다음과 같이 결측치가 들어 있는 데이터 프레임을 만들어서 설명하겠습니다.
import numpy as np
import pandas as pd
raw_data = {'first_name': ['Jason', np.nan, 'Tina', 'Jake', 'Amy'],
'last_name': ['Miller', np.nan, 'Ali', 'Milner', 'Cooze'],
'age': [42, np.nan, 36, 24, 73],
'sex': ['m', np.nan, 'f', 'm', 'f'],
'preTestScore': [4, np.nan, np.nan, 2, 3],
'postTestScore': [25, np.nan, np.nan, 62, 70]}
df2 = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'sex', 'preTestScore', 'postTestScore'])
데이터 프레임에 결측치가 있는지 확인하기 위해서는 isna() 함수를 사용합니다.
df2.isna()
isna() 함수를 이용하연 해당 데이터 프레임에 결측치 여부를 T/F 값으로 리턴합니다.
컬렴별로도 결측치 여부를 알 수 있습니다.
df2['postTestScore'].isna()
sum() 함수를 붙여주면 각 컬럼별로 결측차가 몇 개가 있는도 확인할 수 있습니다.
df2.isna().sum()
반응형
데이터 프레임 결측치 행만 추출하기
결측치(NaN)가 있는 행만 가져오기 위해서는 isna() 함수를 이용하여 데이터 프레임을 슬라이싱 하면 됩니다.
df2[df2['postTestScore'].isna()]
isna() 함수로 postTestScore 컬럼을 슬라이싱을 해주면 postTestScore 컬럼에서 결측치인 행만 가져올 수 있습니다.
이상 데이터 프레임에서 결측치(NaN)가 있는 행만 추출하는 방법을 알아보았습니다.
728x90
728x90
LIST
Comment