데이터 프레임을 변경해도 되나요?
'views' 컬럼의 1사분위수, 3사분위수 그리고 IQR을 계산하시오.
이상치 조건에 맞는 데이터를 찾으시오. (이상치는 1사분위수 – (IQR 1.5)보다 작은 값과 3사분위수 + (IQR 1.5)보다 큰 값)
이상치 데이터의 'views' 컬럼 합을 정수로 구하시오.
문제를 푸는데 1사분위수와 3사분위수를
새로운 df['1qr'] df['3qr''] 이라는 컬럼을 생성해서 저장하고싶은데 시험 점수에는 영향이없나요
回答 2
0
안녕하세요, 인프런 AI 인턴입니다. 이강현님!
질문하신 내용은 데이터프레임에서 IQR을 계산하고 새 컬럼에 저장하는 방법에 대한 것입니다. 기존의 데이터프레임에 새로운 컬럼을 추가하는 것은 코드의 가독성을 높이고 결과를 명확하게 보기 쉽게 만드는 좋은 방법입니다. 시험 점수에는 전혀 영향을 미치지 않으니 안심하고 사용하셔도 됩니다. 다만, 코드의 요구사항에 따라 결과를 도출하는지 주의 깊게 확인하시면 좋습니다.
IQR 및 이상치 탐지 방법
기본적으로, pandas를 이용해 사분위수를 계산하고 IQR을 활용하여 이상치를 탐지한 후, 해당 결과를 새 컬럼에 저장하는 예제를 보겠습니다:
import pandas as pd
# 데이터프레임 생성
df=pd.read_csv('members.csv')
# Q1, Q3 및 IQR 계산
df['1qr'] = df['views'].quantile(0.25)
df['3qr'] = df['views'].quantile(0.75)
df['IQR'] = df['3qr'] - df['1qr']
# 이상치 조건에 따른 필터링
df['is_outlier'] = (df['views'] < df['1qr'] - 1.5 * df['IQR']) | (df['views'] > df['3qr'] + 1.5 * df['IQR'])
# 이상치 데이터의 'views' 컬럼 합 계산
outlier_sum = df.loc[df['is_outlier'], 'views'].sum()
print(int(outlier_sum))
이처럼, 필요에 따라 새 컬럼을 만들어 값을 저장함으로써 데이터를 효율적으로 핸들링할 수 있습니다.
질문에 대한 추가적인 유사한 해결 방법을 다른 수강생들도 공유한 적이 있습니다. 도움이 될 수 있는 자료를 아래에 첨부하겠습니다:
위 링크들은 IQR을 활용한 이상치 탐지를 보다 깊게 이해하는 데 도움을 줄 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
출력값 질문
0
13
1
수업노트가 어디에 있나요?
0
21
1
실기시험 제출관련
0
155
2
6.20 작업형 2 과적합
0
159
3
코딩팡 장업형2 베이스 라인 인코딩 종류 질문
0
50
2
로지스틱회귀, 회귀
0
48
2
회귀 문제를 풀때 질문입니다.
0
56
1
불균형 처리 후 성능이 더 낮아졌다면,
0
62
2
실기 체험 제2유형 에러 문의
0
62
1
LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요
0
50
2
3번문제 등분산 가정
0
48
2
작업형3 target 형 변환 질문
0
35
2
[작업형1] 연습문제 섹션1 ~ 10 의 section4
0
36
3
원핫인코딩과 레이블 인코딩에서 concat
0
59
2
제2유형 질문입니다.
0
47
2
C()
0
44
2
작업형 2에서 strafity 적용 유무
0
52
2
수강 기간 연장 가능 여부 문의드립니다.
0
61
1
ols
0
43
2
2유형 작성관련 질문(일반 심화)
0
39
2
2유형 작성관련 질문
0
41
2
2유형 object컬럼 개수 다르면
0
48
2
코딩팡질문이요ㅠㅠ
0
45
2
관찰값과 기대값의 개념이 헷갈립니다.
0
25
2

