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()