사이킷런 더 알아보기
df.isna() True, False 구분
df.isna().sum() True 결측치 확인
import missingno as msno
msno.bar(df) 각 컬럼별로 결측치가 얼마나 있는지,
df.dropna(axis=0) 결측치가 있는 행이 제거됨.
df.dropna(axis=1) 결측치가 있는 열이 제거됨
df.dropna( axis=0, how='any') # 해당 행이나 열에 결측치가 하나라도 있다면 제거. (default)
df.dropna( axis=0, how='all') # 해당 행이나 열의 '모든 값' 이 결측치라면 제거
df.dropna( axis=1, thresh=800) # 결측치가 아닌 값이 thresh 보다 적게 있을 때 제거. how 와 함께 사용 불가
df.dropna(axis=0, subset = ['age']) #고려해야 할 다른 축의 레이블 (ex. 행을 삭제하는 경우엔 열 지정.)
df.dropna(axis=0, ignore_index=True) #True 로 지정할 경우 결측치가 제거된 DataFrame 의 index 가 reset 됨
df.dropna(axis=0, ignore_index=True, inplace=True) #True로 지정할 경우 해당 DataFrame 의 값이 변경됨
df.fillna(0)
결측치를 해당 변수의 평균(mean), 중앙값(median), 최빈값 (mode) 또는 다른 일반적인 값으로 대체
적용사례
- 평균 : 연속형 변수에 자주 사용되며, 데이터가 정규 분포를 따른다고 가정할 때 적합..
- 중앙값 : 이상치의 영향을 덜 받기 때문에, 이상치가 있는 연속형 변수에 적합.
- 최빈값 : 범주형 변수에 주로 사용