실기
연습 화면을 불러오는 중…
연습 화면을 불러오는 중…
Python으로 준비하는 실기
코딩이 처음이라면 한 줄 실행부터.
설명 옆에서 직접 써 보고, 결과를 확인하며 배웁니다.
설치·가입 없이 이 화면에서 실행
코드를 실행해 안녕하세요를 출력해요.
처음 보는 코드를 읽고, 오류 메시지를 읽고, 짧은 코드를 스스로 고칠 수 있다.
표에서 원하는 숫자 하나를 뽑아내는 길을 스스로 찾을 수 있다.
전처리 조건을 그대로 코드로 옮겨, 문제가 요구한 자리수로 값을 낼 수 있다.
학습 데이터로 모델을 만들고 평가 데이터의 예측을 규격에 맞는 CSV 로 낼 수 있다.
검정통계량과 p-value 를 구하고 그 결과를 과장 없이 문장으로 옮길 수 있다.
도움말과 파일을 확인하며 혼자 문제를 풀고 제출할 수 있다.
배운 내용을 실전으로
wine-combined.csv 는 적포도주와 백포도주 6,497개를 합친 자료이며 wine_type 이 종류를 나타낸다.
total_sulfur_dioxide 열에서 Q1 - 1.5 × IQR 미만이거나 Q3 + 1.5 × IQR 초과인 행을 이상치로 보고 제거한다. 사분위수는 pandas 의 기본 방식(선형 보간)을 쓴다.
남은 행의 alcohol 평균을 소수점 셋째 자리까지 반올림한 값을 답안에 적는다.
quantile(0.25)·quantile(0.75). pandas 의 기본 보간 방식이 곧 문항이 지시한 방식이다.kept 에서 alcohol 평균을 구한다. 원본 df 로 평균을 구하면 제거가 아무 일도 하지 않은 셈이 된다.import pandas as pd
df = pd.read_csv('wine-combined.csv')
column = 'total_sulfur_dioxide'
q1 = df[column].quantile(0.25)
q3 = df[column].quantile(0.75)
iqr = q3 - q1
k = 1.5
kept = df[(df[column] >= q1 - k * iqr) & (df[column] <= q3 + k * iqr)]
print(round(kept['alcohol'].mean(), 3))이 자료에서 하한은 음수라 걸리는 행이 없고, 상한을 넘는 10개 행만 빠진다. 경계를 넓혀 아무것도 제거하지 않으면 평균이 달라지므로, 제거가 실제로 답을 바꾸는 문항이다.