실기
연습 화면을 불러오는 중…
연습 화면을 불러오는 중…
Python으로 준비하는 실기
코딩이 처음이라면 한 줄 실행부터.
설명 옆에서 직접 써 보고, 결과를 확인하며 배웁니다.
설치·가입 없이 이 화면에서 실행
코드를 실행해 안녕하세요를 출력해요.
처음 보는 코드를 읽고, 오류 메시지를 읽고, 짧은 코드를 스스로 고칠 수 있다.
표에서 원하는 숫자 하나를 뽑아내는 길을 스스로 찾을 수 있다.
전처리 조건을 그대로 코드로 옮겨, 문제가 요구한 자리수로 값을 낼 수 있다.
학습 데이터로 모델을 만들고 평가 데이터의 예측을 규격에 맞는 CSV 로 낼 수 있다.
검정통계량과 p-value 를 구하고 그 결과를 과장 없이 문장으로 옮길 수 있다.
도움말과 파일을 확인하며 혼자 문제를 풀고 제출할 수 있다.
배운 내용을 실전으로
wine-red.csv 는 포르투갈 적포도주 1,599개의 이화학 측정값이다. 일부 측정값이 비어 있다.
chlorides 열의 결측치를, 결측을 제외하고 계산한 그 열의 중앙값으로 채운다.
채운 뒤 chlorides 열의 표본표준편차(자유도 n-1)를 구해 소수점 넷째 자리까지 반올림한 값을 답안에 적는다.
df.isna().sum() 으로 어느 열에 몇 개가 비어 있는지 먼저 본다. 이 확인 없이 채우면 엉뚱한 열을 건드린다.df['chlorides'].median() 은 기본적으로 결측을 빼고 계산한다. 결측을 0 으로 채운 뒤 중앙값을 구하면 중앙값 자체가 내려간다.fillna(중앙값) 으로 빈칸만 메운다. 원래 값이 있던 칸은 그대로다.std() 는 기본 자유도가 n-1 이라 그대로 표본표준편차다. 마지막에 발문이 지시한 넷째 자리로 반올림한다.import pandas as pd
df = pd.read_csv('wine-red.csv')
df['chlorides'] = df['chlorides'].fillna(df['chlorides'].median())
print(round(df['chlorides'].std(), 4))median() 과 std() 는 기본적으로 결측을 제외한다. 그래서 채우기 전 중앙값은 관측된 값만으로 구해지고, std() 의 기본 자유도는 n-1 이라 표본표준편차가 바로 나온다. ddof=0 으로 두면 0.0462 가 되어 답이 달라진다.
std() 는 기본 자유도가 0(모표준편차)이고 pandas 는 1(표본표준편차)이다. 두 라이브러리의 기본값이 반대라서, numpy 습관으로 ddof=0 을 붙이면 0.0462 가 나와 넷째 자리에서 틀린다.