2회 기출유형 작업형1 -2 번 질문
선생님
1-2의 데이터는 행이 100개라서
#앞에서부터 순서대로 80% 데이터만 활용
df = df.iloc[:80]
before = df['f1'].std()
#f1컬럼의 결측치를 채우기 전의 표준편차
#f1중앙값
df['f1'] = df['f1'].fillna(df['f1'].median())
after = df['f1'].std()
print(abs(after - before))이런식으로 코드를 작성했는데
왜 답이 0으로 나올까요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
jocharlie님이 작성하신 코드는 ‘f1’ 컬럼의 결측치를 중앙값으로 채우기 전과 후의 표준편차의 차이를 계산하게 되어 있습니다. 그런데 답이 0으로 나오는 이유는 중앙값으로 결측치를 채운 후에 다시 ‘before’ 변수를 재계산하기 때문에 발생합니다. 즉, ‘df[‘f1’] = df[‘f1’].fillna(df[‘f1’].median())’ 이후에 ‘before’ 변수가 영향을 받게 되는 문제입니다.
이 문제를 해결하려면, ‘before’ 변수에 결측치를 채우기 전의 ‘f1’의 표준편차 값을 확실하게 저장해 두셔야 합니다. 데이터가 덮어씌워지지 않도록, 두 값을 별도의 변수에 저장하고 나서 차이를 계산하시면 됩니다.
아래 유사한 문제 해결 방안을 참고하시면 도움이 될 것입니다:
- 2회 기출유형(작업형1), 문제2: 이 질문에서는
df['f1']에 결측치가 채워진 후 표준편차가 다시 계산되어 동일한 값이 나오는 문제를 다룹니다. ‘before’ 값을 확실하게 분리해서 저장하는 중요성을 강조하며, 코드를 재구성하는 방법을 제시합니다.
이와 같이, 각 중간 단계의 데이터를 잘 관리하는 것은 매우 중요합니다. 문제 해결에 도움이 되길 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강 연장 문의드립니다.
0
28
2
강의 연장 문의
0
33
2
수강 신청 연장 문의드립니다.
0
48
2
작업형 1번문제... 환경관련
0
31
2
12회 기출은 언제 업데이트 될까요??
0
40
2
8/6 작성한 연장문의 질문글에 대한 재요청
0
39
2
수강기간 연장 문의
0
41
2
수강기간 연장문의
0
37
2
수강기간 연장 요청 문의드립니다
0
38
2
수강 기간 연장 문의
0
47
2
수강연장 가능 문의 (기간 약 한달반)
0
60
2
수강기간 연장 가능할까요 선생님
0
74
2
Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.
0
56
3
수강연장요청 문의
0
92
2
아무래도 다음 시험 연장은 어렵겠죠?
0
109
2
빅분기 12회 결과 관련 문의
0
113
1
책이랑 강의랑 순서나 예제가 다른것 같네요
0
83
2
수강연장 문의
0
107
2
재검토 요청 방법 좀 알려주셔요...-.-;;
0
106
2
12회 실기 질문(작업형 2)
0
94
2
뒤로가기 버튼 같은 것이 있나요?
0
67
1
강의 연장 문의
0
100
2
출력값 질문
0
74
2
수업노트가 어디에 있나요?
0
64
1





