본문으로 건너뛰기
데이터 분석 · AI 기초집LESSON 05

NumPy 기초: 배열과 벡터 연산

난이도초급
예상 시간35분
선수지식이전 강의

5강. NumPy 기초: 배열과 벡터 연산

1. 이번 강의에서 해결할 문제

Python 반복문으로 모든 수치를 하나씩 처리하면 계산 의도가 흐려지고 큰 데이터에서 느려집니다. 같은 타입의 수치 배열에 연산을 한 번에 적용해야 합니다.

2. 학습 목표

3. 핵심 개념

NumPy ndarray는 대체로 같은 dtype의 N차원 배열입니다. 벡터 연산은 Python 반복문을 직접 작성하지 않고 배열 전체에 계산을 적용합니다. 브로드캐스팅은 호환되는 shape 사이의 연산 규칙이며, 자동 동작이 의도한 축인지 shape를 먼저 확인해야 합니다.

4. 단계별 실습

1. 예제 파일 작성

실행 환경: 코드 편집기

실행 위치: C:\dev\game-data-lab

실행 전 확인: 기존 파일이 있으면 내용을 덮어쓰지 말고 Git diff로 이번 강의 변경 범위를 확인합니다. 실제 개인정보·API Key·토큰은 사용하지 않습니다.

대상 파일: src/numpy_basics.py

src/numpy_basics.py
import numpy as np

scores = np.array([1280, 970, 820, 910, 1410, 1530, 760, 1190, 880], dtype=np.float64)
wins = np.array([1, 0, 1, 0, 1, 1, 0, 1, 1], dtype=np.int8)

print("shape/dtype:", scores.shape, scores.dtype)
print("평균/중앙값:", scores.mean(), np.median(scores))
print("승리 세션 평균:", scores[wins == 1].mean())
centered = scores - scores.mean()
print("중심화 평균:", np.round(centered.mean(), 10))

2. 실행과 결과 확인

실행 환경: Windows PowerShell

실행 위치: C:\dev\game-data-lab

실행 전 확인: Python 코드는 프로젝트의 .venv 인터프리터를 사용하고 입력 파일 경로가 존재하는지 확인합니다.

대상: src/numpy_basics.py과 이 강의가 만드는 출력

Windows PowerShell
Set-Location C:\dev\game-data-lab
.\.venv\Scripts\python.exe .\src\numpy_basics.py

예상 결과: 배열 크기와 dtype, 전체 평균·중앙값, 승리 세션 평균과 0에 가까운 중심화 평균이 출력됩니다.

5. 분석 또는 모델이 동작하는 이유

wins == 1은 각 원소를 비교한 불리언 배열을 만들고 이를 인덱스로 사용해 승리 점수만 선택합니다. 평균을 뺀 중심화 결과의 평균은 부동소수점 오차 범위에서 0에 가깝습니다.

6. 자주 하는 실수와 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

NumPy 기초: 배열과 벡터 연산 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“NumPy 기초: 배열과 벡터 연산”의 개념 차이를 실제 작업에 적용한 판단은 무엇인가요?
  2. 문제 2“NumPy 기초: 배열과 벡터 연산” 실습 중 ‘shape를 확인하지 않고 브로드캐스팅하기’ 상황을 발견했습니다. 본문과 일치하는 설명은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

5강. NumPy 기초: 배열과 벡터 연산 미완료 상태