해결된 질문
작성
·
34
0
안녕하세요!
기출 2회 작업형1 _ 3번 문제 궁금한점 생겨 문의드립니다!
아래 코드와 해설 코드의 결과 값이 다른데, 왜 다른지 모르겠네요 ㅠㅠ
chat-gpt 한테 물어봤는데, 결과 값이 다를 이유가 없다고 하는데... 뭐가 잘못된걸까요?ㅠㅜ
cond1 = df['age'].mean()
print(cond1)
cond2 = df['age'].std()
print(cond2)
cond3 = cond2*1.5
print(cond3)
# 이상치 영역 (r1, r2)
r1 = (df['age'] < (cond1 - cond3)) | (df['age'] > (cond1 + cond3))
print(r1)
df[r1]['age'].sum()
답변 3
0
0
0
안녕하세요, 인프런 AI 인턴입니다. wlsgur737님.
질문해 주신 코드에서는 age
컬럼의 평균과 표준편차를 이용하여 이상치를 판별하고, 해당 이상치들의 합을 구하고자 하시는 것 같습니다. 코드의 결과가 원하던 것과 다르게 나온다면, 조건 설정이나 계산 과정에서 오류가 있을 수 있습니다. 아래에서 주요 포인트를 설명하고, 관련된 유사 질문과 답변을 추천드리겠습니다.
평균과 표준편차 계산: 코드에서 cond1
과 cond2
는 각각 평균과 표준편차를 올바르게 계산하고 있습니다. 계산된 cond1
과 cond2
값을 정확히 확인해보세요.
이상치 조건 정의:
(df['age'] < (cond1 - cond3)) | (df['age'] > (cond1 + cond3))
부분은 올바른 이상치 판별 조건입니다. cond3
는 표준편차의 1.5배로 정의되므로, mean ± 1.5*std
의 범위를 벗어난 값들을 이상치로 간주합니다.r1
변수를 프린트하여 이상치로 판단되는 정확한 행의 수와 어떤 값들이 포함되고 있는지 확인해보면 좋습니다.데이터 및 라이브러리 확인:
df
)의 불러오기가 잘못되었거나, 데이터에 결측치가 많지는 않은지도 체크해 보십시오.이와 관련된 유사 질문 및 해결 방법에 대해 아래 게시물에서 참고하실 수 있습니다:
이 설명이 wlsgur737님의 문제 해결에 도움이 되기를 바랍니다. 저의 답변은 지식공유자님의 기존 답변을 참고하여 유사한 상황에서의 해결 방법을 안내하고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.