Python 복습
학습 목표
같은 자료 정리를 여러 분석에 재사용할 수 있도록, 누락 처리와 배열 변환을 작은 함수로 묶습니다.
결측을 포함한 측정 자료
시작 조건
3특징 자료 rows=[[1,2,3],[2,None,4],[3,4,5],[4,5,6]]입니다. None이 있는 행은 별도 목록으로 둡니다.
진행 방법
- 원본 행 수·완전한 행 수·결측 행의 위치를 기록하세요.
- 완전한 행만 NumPy 배열로 바꾸고 열별 평균·최댓값을 구하세요.
- 처리를 prepare(rows) 함수로 묶으세요.
남길 결과
- 원본 선택 표와 특징별 통계 표.
import numpy as np
import matplotlib.pyplot as plt
rows=[[1,2,3],[2,None,4],[3,4,5],[4,5,6]]
complete=[row for row in rows if None not in row]
X=np.asarray(complete,dtype=float)
print(X.shape,X.mean(axis=0))
결과 기록·자가 점검
원본 행:
완전 여부:
선택 결과:
이유:
확인할 점
- 입력 원본과 처리 결과를 별도 변수로 보관했는가?
- 행 수가 바뀐 뒤 shape를 확인했는가?
같은 계산을 다른 입력에 적용
시작 조건
rows2=[[10,20,30],[20,30,40], [None,40,50]]과 빈 List를 사용합니다.
진행 방법
- 같은 prepare 함수로 두 입력을 처리하세요.
- 빈 입력의 반환 규칙을 명시하고 assert를 작성하세요.
- 행별 반복문 결과와 NumPy 집계를 대조하세요.
남길 결과
- 입력 3종 비교 표와 assert 2개.
rows2=[[10,20,30],[20,30,40],[None,40,50]]
# TODO: 같은 prepare 함수를 적용하세요.
결과 기록·자가 점검
입력:
원본 수:
유효 수:
열 평균:
경계 처리:
확인할 점
- 비어 있는 배열의 평균을 정상값으로 기록하지 않았는가?
- 입력마다 함수를 다시 고치지 않았는가?
결과를 그래프로 요약
시작 조건
완전한 행의 첫 특징을 x, 세 번째 특징을 y로 사용합니다.
진행 방법
- 원본 자료와 rows2를 다른 기호로 표시하세요.
- 각 점이 어떤 원본 행에서 왔는지 추적할 수 있도록 번호를 적으세요.
- 데이터 선택이 그래프에 미친 영향을 간단히 정리하세요.
남길 결과
- 산점도와 선택 추적 표.
# TODO: 첫 번째·세 번째 특징의 산점도와 행 번호를 추가하세요.
결과 기록·자가 점검
자료:
선택된 원본 행:
x 범위:
y 범위:
확인할 점
- 결측을 제거한 뒤 원본 행 번호를 잃지 않았는가?
- 축의 특징 의미를 적었는가?