[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 |
댓글