DeepLearning - 데이터 전처리

뚝딱뚝딱

데이터 전처리

를 해보자.

데이터 결측치 처리하기

: NaN || null 을 처리해보자

왜요?
🍊: 빈값은 분석 정확도를 떨어뜨리니까.

어떻게 할 건데요?
🍊: 삭제하거나. 대체하거나. 아니면 보간이라든지 모델링하는 방법도 있어.

결측치 처리 함수 예


# 결측치 처리(NaN)
df.isnull().sum()

# 제거하기
# 제거해서 반환받기
df = df.dropna()

# 평균으로 채우기
df['age'] = df['age'].fillna(df['age'].mean())

데이터 타입 변환하기

: 숫자 계산하고 싶은데 object면 싫잖아.

df['age'] = df['age'].astype(int)
df['date'] = pd.to_datetime(df['date'])

그외 가지가지


# 조건기반 생성 (apply + lambda)
# 한 행을 조건에 따라 pass 혹은 fail로 만드는 내용
df['result'] = df.apply(
  lambda x: 'pass' if x['score'] >= 80
  else 'fail',
  axis =1
)

# 문자열처리
df['name'].str.strip() # 공백제거
df['name'].str.lower() # 소문자

# 일괄대체
df.replace()

# 결측값 채우기 (ft. 시계열)
df['result'].interpolate()

# 이전/다음 유효값으로 결측치 채우기 (ft. 시계열)
df['result'].bfill() / ffill()