TIL Data Type Conversion and Missing Value Handling

데이터 분석 전 데이터 타입 변환 및 결측치 확인/처리는 필수적인 전처리 과정

1. 데이터 타입 변환 (Data Type Conversion)

1.1 object 타입에서 string 타입으로 변환

  • 목적: Pandas 문자열 메서드(.str) 활용성 증대

  • 코드 예시: df.astype({col: ‘string’ for col in df.select_dtypes(include=’object’).columns})

  • 장점:

  • Pandas의 일관된 문자열 메서드 활용

  • 결측치 로 표준화

2. 결측치 확인 (Missing Value Inspection)

2.1 결측치 포함 열 확인

  • 목적: 결측치가 존재하는 열 식별

  • 코드 예시: df.columns[df.isnull().any()].tolist()

  • 결과: 결측치 포함 열 이름 리스트 반환

2.2 결측치 비율 확인

  • 목적: 각 열의 결측치 비중 파악

  • 코드 예시: df.isnull().sum() / len(df) * 100

  • 결과: 결측치 비율이 0보다 큰 열만 표시

3. 결측치 처리 (Missing Value Handling)

3.1 열/행 제거 (Dropping Rows/Columns)

  • 열 제거: df.dropna(axis=1, how=’any’, inplace=True)

  • 행 제거: df.dropna(axis=0, how=’any’, inplace=True)

  • 원리: 결측치가 포함된 열 또는 행을 데이터셋에서 제거

3.2 결측치 채우기 (Filling Missing Values)

  • 특정 값으로 채우기: df.fillna(0, inplace=True)

  • 열별 평균값으로 채우기: df.fillna(df.mean(), inplace=True)

  • 원리: 결측치를 특정 값, 통계량(평균, 중앙값 등)으로 대체

3.3 조건 기반 및 문자열 열 처리 (Conditional & String Column Handling)

  • 조건 기반 대체: df[‘column_name’].apply(lambda x: 0 if pd.isnull(x) else x)

  • 문자열 열 빈 문자열 대체: df.update(df.select_dtypes(include=’string’).fillna(‘’))

  • 원리: 특정 조건에 따라 결측치를 처리하거나, 문자열 타입의 결측치를 빈 문자열로 대체