인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
작업형1 연습문제 17번 질문
해결된 질문
작성
·
12
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
안녕하세요
선생님께서는
# 표준편차
r1 = df['views'].std()
# 음수이거나 0 테이터 제외
cond = df['age'] <= 0
df = df[~cond]
# 소수점이 없는 값만 선택
cond = df['age'] == round(df['age'],0)
df = df[cond]
# 표준편차
r2 = df['views'].std()
print(round(r1 + r2, 2))
이렇게 코드를 작성해서 8297.31 이 나왔고 저는
print(df['views'].std())
cond1 = df['age'] > 0
cond2 = df['age'] == round(df['age'],0)
df[cond1|cond2]['views'].std()
round(4157.408065873686+4121.626455600414,2)
이렇게 8279.03 라는 값이 나왔습니다.
저의 코드도 큰 문제는 없어보이는데 답이 달라서
1. 제가 잘못 코드 작성한 것인가요?
2. 아니면 순서상의 일부분 정상적인 오차라면, 저도 정답으로 인정될 수 있나요?답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. gamb21님.
질문 감사드립니다. 말씀하신 문제는 평소에 데이터를 필터링하고 표준편차를 계산하는 과정에서 발생할 수 있는 미묘한 차이에 대한 질문으로 보입니다. 이것은 데이터 처리에 있어 순서와 방법에 따라 결과가 다르게 나올 수 있음을 시사합니다.
코드의 문제점:
df[cond1|cond2]조건은 이상치 처리가 다르게 하고 있습니다. 두 조건을 “OR”로 처리한다면,age가 양수이거나 정수일 때의 모든 조건에 대해 작동하게 되므로 원래 필터링 목적인 소수점 없는 양수 데이터만을 필터링하지 못할 수 있습니다. 위의 코드는 ‘양수 이거나’와 ‘정수인’ 데이터를 혼합하여 해석할 수 있어, 결과적으로 필터된 데이터 셋이 다를 수 있습니다.
- 코드 마지막에서
r1과r2를 더하는 것을 고려할 때는df에 대한 조작이 끝난 후 같은 집합에 대한 표준편차를 맞춰야 최종 결과가 다르게 나오지 않습니다.
순서 및 정상적인 오차:
- 코드의 논리 순서와 각 데이터에 대한 조건이 달라지는 점에서 차이를 일으킬 수 있습니다. 문제가 주어진대로 처리하여 표준을 따르는 것이 정답 처리에 중요합니다. 설정된 문제 기준을 따르는 것이 바람직하나, 만일 평가 상황에서 코드 논리를 증명할 수 있다면 다소의 변형이 있다고 하더라도 인정할 수 있겠지만, 이는 채점 기준에 따라 다를 수 있습니다.
- 코드의 논리 순서와 각 데이터에 대한 조건이 달라지는 점에서 차이를 일으킬 수 있습니다. 문제가 주어진대로 처리하여 표준을 따르는 것이 정답 처리에 중요합니다. 설정된 문제 기준을 따르는 것이 바람직하나, 만일 평가 상황에서 코드 논리를 증명할 수 있다면 다소의 변형이 있다고 하더라도 인정할 수 있겠지만, 이는 채점 기준에 따라 다를 수 있습니다.
관련 자료로 참고하실만한 질문은 다음과 같습니다:
- 4-2 type1 작업형1 6번 문제 문의드립니다.: 여기에서도 age의 이상의 데이터 필터링 시 조건 적용의 차이로 인해 발생할 수 있는 결과의 차이를 논의합니다.
- 작업형1 모의문제2 6번: 비슷한 필터링 조건을 설정하는 데 있어 나타나는 결과와 관련된 토론이 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





