AI/DataAnalysis

결측치 처리

oaho 2023. 2. 20. 11:57
반응형

1. 불필요한 변수 지우기

 

drop_cols = ['Cabin', 'PassengerId', 'Name', 'Ticket']
titanic.drop(drop_cols, axis=1, inplace=True)

 

 

2. NaN삭제 ( .dropna )

titanic.dropna(axis=0, inplace=True)

 

 

3. 일부 행 지우기 (subset=['열'])

titanic.dropna(subset=['Age'], axis=0, inplace=True)

 

 

4. NaN채우기 ( fillna )

 

1) 평균값으로 채우기

mean_age = titanic['Age'].mean()

titanic['Age'].fillna(mean_age, inplace=True)

 

2) 최빈값으로 채우기

titanic['Embarked'].fillna('S', inplace=True)

 

 

5. 앞/뒤 값으로 채우기 ( method='ffill', method='bfill' )

 

# Ozone 변수 NaN 값을 바로 앞의 값으로 채우기
air['Ozone'].fillna(method='ffill', inplace=True)

# Solar.R 변수 NaN 값을 바로 뒤의 값으로 채우기
air['Solar.R'].fillna(method='bfill', inplace=True)

 

 

6. 선형 보간법으로 채우기( .interpolate(method='linear')  )

 

 

# 선형 보간법으로 채우리
air['Ozone'].interpolate(method='linear', inplace=True)

# Solar.R 변수 NaN 값을 바로 뒤의 값으로 채우기
air['Solar.R'].interpolate(method='linear', inplace=True)

 

7. 불필요한 값을 NaN으로 처리

 

예를들어 "_"를 NaN으로 처리

df.replace("_", np.NaN, inplace=True)

 

,지우고 숫자형으로 변경

usd_df['usd'] = usd_df['ClosePrice'].apply(lambda data: float(data.replace(',','')))

 

=> lambda

 

 

 

 

 

람다 사용하지 않을경우 -> 저장공간 3칸 사용

 

 

 

 

 

 

람다 사용할 경우 -> 저장공간 1칸 사용

반응형