해결된 질문
작성
·
64
0
캐글에 올려주신 자료 중 T1-23 문제를 풀고 있습니다.
f1컬럼에서 10번째로 큰 값을 찾는 중에 질문이 생겨 질문 드립니다!
실제로 f1을 소팅해서 보면 중복값이 있어 10번째로 큰 값이 86인데
선생님 풀이에는 소팅해서 10번째에 있는 값인 88로 대체하셨더라고요
실제 값에 관계없이 10번째에 위치한 값으로 대체해도 되는 건가요?
선생님 풀이)
# f1데이터에서 10번째 큰 값으로 결측치를 채움
top10 = df['f1'].sort_values(ascending=False).iloc[9]
print(top10)
df['f1'] = df['f1'].fillna(top10)
결과) 88.0
실제 값 소팅 결과)
print(df.sort_values('f1',ascending=False).head(15))
id age city f1 f2 f3 f4 f5
56 id57 3.0 대구 111.0 0 NaN ISFJ 29.269869
7 id08 38.0 서울 101.0 1 NaN INFJ 83.685380
57 id58 0.0 대구 100.0 2 NaN ESTP 33.308999
73 id74 45.0 경기 98.0 0 NaN ESTP 52.667078
71 id72 8.0 경기 97.0 0 NaN ESTJ 97.381034
69 id70 -9.0 경기 96.0 1 NaN ISTP 48.431184
77 id78 92.0 경기 96.0 1 NaN INTJ 69.730313
32 id33 47.0 부산 94.0 0 NaN ENFJ 17.252986
48 id49 75.0 대구 88.0 0 NaN INTP 37.113739
44 id45 97.0 대구 88.0 0 NaN ENFJ 13.049921
17 id18 41.0 서울 87.0 2 NaN ISFJ 80.138280
62 id63 88.0 경기 86.0 1 NaN ISFJ 73.586397
68 id69 75.0 경기 85.0 0 NaN ESTJ 69.730313
15 id16 68.0 서울 85.0 0 NaN ESFP 16.283854
4 id05 24.0 서울 85.0 2 NaN ISFJ 29.269869
감사합니다 :)