본문 바로가기

코딩

빅분기 실기준비 #3

by 노이반 2022. 10. 18.

[py] T1-3. 결측치 처리(map 활용) Expected Questions.

https://www.kaggle.com/code/bulgam/py-t1-3-map-expected-questions

여기서 공부중...

 

 

결측치 처리는 평소에도 활용이 중요할 듯..

 

우선 탐색적 분석을 통해서 결측값 확인

df.isnull().sum()

 

결측치가 많은 컬럼삭제할 때는 df.drop활용

반드시 axis = 1 넣어줄 것 ! (axis = 0 행기준, axis = 1 열기준)

# f3 컬럼 삭제
print("삭제 전:", df.shape)
df = df.drop(['f3'], axis=1)

 

map 함수 활용해서 결측치 대체하는 방법

 - df.fillna 결측치 대체

 - map 함수 활용해서 매칭

# f1결측치 city별 중앙값으로 대체
df['f1'] = df['f1'].fillna(df['city'].map({'서울':s,'경기':k,'부산':b,'대구':d}))

 

* 참고

# 도시별 중앙값 계산
s=df[df['city']=='서울']['f1'].median()
k=df[df['city']=='경기']['f1'].median()
b=df[df['city']=='부산']['f1'].median()
d=df[df['city']=='대구']['f1'].median()
s, k, b, d

#방법2
# k, d, b, s = df.groupby('city')['f1'].median()
# f1결측치 city별 중앙값으로 대체
df['f1'] = df['f1'].fillna(df['city'].map({'서울':s,'경기':k,'부산':b,'대구':d}))

# 만약 그냥 f1 중앙값으로 대체 한다면 
# df['f1'] = df['f1'].fillna(df['f1'].median())

'코딩' 카테고리의 다른 글

빅분기 실기 시험 후기  (0) 2022.12.04
빅분기 실기준비 #2  (0) 2022.10.18
빅분기 실기준비 #1  (0) 2022.10.18

댓글