실습 · 연습문제 1개
데이터 사전으로 열 하나 검사하기 check-column-spec
데이터 사전(data dictionary)은 열마다 단위·허용 범위·결측 규칙을 적은 문서다. 사전이 기계가 읽을 수 있는 형태라면 새 데이터가 들어올 때마다 자동으로 검사할 수 있다.
함수 check_column(values, spec)을 완성한다. values는 한 열의 값(1차원 배열), spec은 그 열의 사전 항목이다.
spec의 키 |
뜻 |
|---|---|
"min", "max" |
허용 범위. 양 끝을 포함한다 |
"missing_codes" |
(선택) 결측을 뜻하는 숫자 코드의 목록. 예: [-999.0]. 없으면 빈 목록으로 본다 |
다음 세 개수를 담은 딕셔너리를 반환한다.
"missing":NaN이거나missing_codes에 있는 값의 수"out_of_range": 결측이 아니면서[min, max]밖에 있는 값의 수"valid": 나머지 값의 수
세 값의 합은 len(values)와 같아야 한다. 결측 코드를 범위 밖 값으로 세지 않는 것이 핵심이다. -999는 "매우 추운 날"이 아니라 "측정하지 못한 날"이다.
힌트: np.isnan과 np.isin으로 결측 마스크를 먼저 만들고, 범위 검사는 결측이 아닌 값에만 적용한다.