해결된 질문
작성
·
110
0
len(df) * 0.8
df = df.iloc[:80]
df.isnull().sum()
std1 = df['f1'].std()
print(std1)
#std1 = 20.574853076621935
m = df['f1'].median()
# 중앙값은 68
df['f1'] = df['f1'].fillna(m)
df.isnull().sum() #결측치채워진것 확인
std2 = df['f1'].std()
print(std2)
print(abs(std1-std2))
2회기출유형(작업형1) 문제2를 따라하다가, 질문드립니다.
위와 같이 해서
17.010788646613268
17.010788646613268
0.0
이렇게 std1 과 std2 값이 같게 나왔는데..
제가 주석처리한것보면 처음에는 제대로 나왔었거든요.
처음에 80%데이터 iloc에 80을 그냥 숫자로 적은것과 관련이있는가싶은데, 설명부탁드립니다.
답변 1
0
추측해보면 한 번 실행 한 뒤
데이터 로드 없이 그대로 또 실행하면서
결측치가 68로 채워진 상태에서 계산 된것 같아요 🙂
데이터를 불러오는 코드만 상단에 넣으면 문제 없을 것으로 보여요!!