본문 바로가기
Log/Book Log

[Do it!] Chapter 07 데이터 정제

by TypeMIN 2022. 7. 4.
728x90

Github Link

07-1 결측치 정제하기


결측치 (Missing Value)

  • 누락된 값, 비어있는 값
  1. dropna()로 결측치를 제거
    # 모든 결측치가 포함된 행 제거
    df.dropna()
    # 특정 열에서만 결측치가 포함된 행 제거
    df.dropna(subset = ['변수명1', '변수명2', '변수명3'])
  2. fillna()로 결측값을 대신할 값(ex. 평균, 중앙값)으로 채워넣기
    • 결측치 대체법 (Imputation)
    • 데이터가 손실되어 분석 결과가 왜곡되는 문제를 보완 가능
      # 결측치(NaN)를 '대체값'으로 변경
      df.fillna(대체값)

07-2 이상치 정제하기


이상치 (Anomaly)

  1. 존재할 수 없는 값
    • 이상치를 결측 처리(NaN)한 후 결측치 정제하기
    • np.where()에서 반환값에 문자가 포함된다면 np.nan이 NaN이 아닌 'nan'으로 처리됨
  2. 극단적인 값 (극단치, Outlier)
    • seaborn.boxplot()을 이용해 극단치의 기준을 지정
    • sns.boxplot(data = df, y = '변수명') pct25 = df.quantile(.25) # 1분위수 (하위 25%) pct75 = df.quantile(.75) # 3분위수 (하위 75%) iqr = pct75 - pct25 # IQR upper_bound = pct75 + 1.5 * iqr # 극단치 상한 lower_bound = pct25 - 1.5 * iqr # 극단치 하한
728x90
반응형