강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

홍상환님의 프로필 이미지
홍상환

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형1 모의문제2

6번 질문입니다

작성

·

32

0

  • 'age' 컬럼의 이상치(소수점 나이와 음수나이, 0포함)를 제거하고

  • 제거 전 후의 views 컬럼 표준편차를 더하시오 (최종 결과 값은 소수 둘째자리까지 출력, 셋째자리에서 반올림)

제가 생각한 이상치 제거는
1. 사분위수를 이용해서 1차적으로 이상치를 제거하고

  1. 1번을 통해 필터링 된 데이터에서 0, 음수, 소수 데이터를 제거

라고 생각했는데 아닌가요?

답은 우연인지 의도인지 둘다 8420.69 이 나오긴 했습니다

import pandas as pd

df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p1/members.csv")


bef = df['views'].std()


#1

#0, 음수 제거 -> 소수 제거

# opt6_1 = df['age'] <= 0

# df= df[~opt6_1]


# opt6_2 = df['age'] % 1 == 0

# df = df[opt6_2]


# aft = df['views'].std()


# print(round(bef+aft, 2))


###### 8420.69 출력


#2

# 이상치 제거 -> 0,음수 제거 -> 소수제거

Q1 = df['age'].quantile(0.25)

Q3 = df['age'].quantile(0.75)


IQR = Q3 - Q1


cond1 = df['age'] > Q3 + (1.5 * IQR)

df = df[~cond1]


cond2 = df['age'] < Q1 - (1.5 * IQR)

df = df[~cond2]


cond3 = df['age'] <= 0

df = df[~cond3]


cond4 = df['age'] % 1 == 0

df = df[cond4]


aft = df['views'].std()


print(round(aft + bef, 2))


###### 8420.69 출력

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

작업형1은 문제에서 명시한 대로 풀어주셔야 합니다.

작업형2와 달리 정답이 있는 문제에요

이상치를 제거하는 방법중 IQR을 사용해 우연히 값이 맞을 순 있지만 이렇게 풀면 안됩니다.

홍상환님의 프로필 이미지
홍상환
질문자

작업형 같은 경우에는 풀이는 조금 이상하더라도 답이 맞으면 정답처리되나요?

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

🤩

맞습니다.

정답으로만 평가해요! 정답만 맞으면 됩니다

화이팅입니다 💪💪💪

홍상환님의 프로필 이미지
홍상환

작성한 질문수

질문하기