본문으로 건너뛰기
AIDevOps
  • Learn
  • Learning Paths
  • Practice
  • Open Source
  • Books
  • Engineering

    AI DevOpsAI 서비스 개발·운영 전체 지도LLMOpsLLM 배포·평가·관측실전 프로젝트AI Agent 프로젝트 실습

    Knowledge

    Docs기술 문서 모음Blog엔지니어링 아티클Plogger개발 기록 피드

    Validate

    Certification3단계 역량 인증 · 준비 중
AI Models
LlamaMistralGemmaDeepSeekQwen
🧠 AI Core
AI 입문 & 로드맵ML FundamentalsLLM Fundamentals|Python AIC++|PyTorchTensorFlowJAX
🤖 AI 실전 개발
AI 실전 입문 & 로드맵Hugging FaceLangChainLlamaIndexLLMOps|LangGraphMCPMulti-AgentAgent Evaluation
🧠 AI Agent 개발
금융 AI AgentLLM API 서버주식 투자 AgentAIOps AI Agent교육 AI Agent코딩 AI Agent
🌱 Spring Cloud
Spring 입문 & 로드맵Spring Cloud GatewaySpring BootJava|Spring AISpring SecuritySpring BatchSpring JPA
🐳 DevOps
DevOps 입문 & 로드맵LinuxDockerCI/CD|Kubernetes 기본K8s 심화/실무PrometheusGrafana
🧱 인프라
인프라 입문 & 로드맵NginxRedis
☁️ 클라우드
클라우드 입문 & 로드맵AWSGCPAzureNCPCloudflare
🎨 Frontend
Frontend 입문 & 로드맵JavaScriptTypeScript|ReactNext.js|VueNuxt
📱 Mobile
Mobile 입문 & 로드맵KotlinAndroidFlutter
⚙️ Backend
Backend 입문 & 로드맵Python 기본FastAPIDjangoFlask|CGoGinNode.js
💾 Database
DB 입문 & 로드맵공통 SQLOracleMySQLPostgreSQL|MongoDB벡터 DB
🧪 검증
k6JMeternGrinder
AIDevOps

Engineering AI. From Code to Production.
AI와 AI Agent를 개발하고 운영하기 위한 엔지니어링 학습 플랫폼

Learn

  • 전체 가이드
  • Learning Paths
  • Practice
  • Books

Resources

  • AI DevOps
  • LLMOps
  • 실전 프로젝트
  • Docs
  • Blog
  • Plogger
  • Open Source
  • Certification (준비 중)

Start Here

  • AI Core 로드맵
  • AI 실전 개발 로드맵
  • Spring Cloud 로드맵
  • DevOps 로드맵
  • 인프라 로드맵

 

  • 클라우드 로드맵
  • Frontend 로드맵
  • Mobile 로드맵
  • Backend 로드맵
  • Database 로드맵
© 2026 AI DevOps Korea. All rights reserved.
이용약관개인정보처리방침Sitemaptestforge.kr
  1. Home
  2. Learn
  3. NumPy
Python 수치 연산 완전 가이드

∑ NumPy 완전 가이드

Visitors

NumPy로 배열, 벡터화 연산, 브로드캐스팅, 인덱싱, 선형대수, 성능 최적화까지 익힙니다. Pandas, PyTorch, scikit-learn의 기반이 되는 수치 연산 도구입니다.

  • Beginner · 입문
  • 업데이트 2026.09.18
  • 약 5분 읽기
  • 9개 섹션
  • 예제 코드 4개
  • 웹 IDE 실습 제공
∑

NumPy 웹 IDE

설치 없이 브라우저에서 코드를 실행하고 단계별 예제로 익혀보세요.

웹 IDE 열기 →
수치 연산배열 처리선형대수ML 기초

관련 프레임워크 & 개발환경

🐍Python 기본→🔥PyTorch→

목차

0 / 11
  1. 가이드 사용법
  2. 구조 다이어그램
  3. NumPy란?
  4. 배열 생성
  5. 인덱싱 & 슬라이싱
  6. 브로드캐스팅
  7. 선형대수
  8. 성능 & 메모리
  9. NumPy 설계
  10. 운영 기준
  11. 검증 전략
목차 11개 섹션
  1. 가이드 사용법
  2. 구조 다이어그램
  3. NumPy란?
  4. 배열 생성
  5. 인덱싱 & 슬라이싱
  6. 브로드캐스팅
  7. 선형대수
  8. 성능 & 메모리
  9. NumPy 설계
  10. 운영 기준
  11. 검증 전략

가이드 사용법

읽는 방향

NumPy를 실무 흐름으로 이해하기

NumPy로 배열, 벡터화 연산, 브로드캐스팅, 인덱싱, 선형대수, 성능 최적화까지 익힙니다. Pandas, PyTorch, scikit-learn의 기반이 되는 수치 연산 도구입니다. 이 가이드는 개념을 나열하기보다, 실제 프로젝트에서 판단해야 하는 순서대로 내용을 따라갈 수 있게 구성했습니다.

핵심 관점

백엔드 / 시스템 개발

문법보다 요청이 들어와 검증, 처리, 저장, 응답으로 이어지는 경계를 먼저 잡습니다.

수치 연산배열 처리선형대수ML 기초

구조 다이어그램

글로 읽은 내용을 머릿속에 오래 남기려면 먼저 흐름을 그림으로 잡는 편이 좋습니다. 아래 두 그림은 NumPy를 학습할 때 계속 되돌아볼 수 있는 기준 지도입니다.

학습 흐름

다이어그램 렌더링 중…

아키텍처 관점

다이어그램 렌더링 중…

NumPy란?

NumPy를 처음 펼칠 때는 세부 명령보다 큰 그림이 먼저입니다. 이 섹션에서는 앞으로 배울 개념들이 어떤 문제를 풀기 위해 등장했는지부터 잡아봅니다.

NumPy는 고성능 다차원 배열과 수치 연산을 제공하는 Python 라이브러리입니다. 반복문보다 빠른 벡터화 연산으로 데이터 처리와 모델 계산의 기초를 만듭니다. 순수 Python 반복문이 값 하나하나를 인터프리터로 처리하는 것과 달리, NumPy는 내부적으로 C로 구현된 배열 연산을 한 번에 수행해 같은 계산을 수십~수백 배 빠르게 끝냅니다.
개념설명
ndarray동일 타입 값을 담는 다차원 배열입니다.
vectorization반복문 대신 배열 단위로 계산합니다.
broadcasting서로 다른 shape의 배열을 규칙에 따라 맞춰 계산합니다.

배열 생성

여기서는 배열 생성을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.

리스트에서 배열을 만들거나 zeros, ones, arange 같은 헬퍼를 사용합니다.
PYTHON
import numpy as np

x = np.array([[1, 2, 3], [4, 5, 6]])
y = np.arange(0, 6).reshape(2, 3)
print(x + y)

인덱싱 & 슬라이싱

여기서는 인덱싱 & 슬라이싱을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.

리스트처럼 대괄호로 접근하되, 다차원 배열은 축(axis)마다 콤마로 구분해 인덱스를 지정합니다. 불리언 배열을 인덱스로 넣으면 조건을 만족하는 원소만 골라낼 수 있습니다.
indexing.pyPYTHON
x = np.arange(12).reshape(3, 4)
# array([[ 0,  1,  2,  3],
#        [ 4,  5,  6,  7],
#        [ 8,  9, 10, 11]])

x[1, 2]        # 6 — 1행 2열
x[:, 1]        # array([1, 5, 9]) — 모든 행의 1번 열
x[0:2, 1:3]    # 슬라이싱으로 부분 배열 추출

# 불리언 인덱싱 — 조건을 만족하는 원소만 선택
x[x > 5]       # array([6, 7, 8, 9, 10, 11])
x[x % 2 == 0] = 0   # 짝수를 전부 0으로 치환

Tip

슬라이싱으로 얻은 배열은 원본 데이터를 공유하는 "뷰(view)"입니다 — 슬라이스를 수정하면 원본도 함께 바뀝니다. 완전히 독립된 복사본이 필요하면 `.copy()`를 명시적으로 호출하세요.

브로드캐스팅

여기서는 브로드캐스팅을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.

스칼라나 1차원 배열을 더 큰 배열에 자동 확장해 계산합니다. NumPy는 두 배열의 shape를 뒤에서부터 비교해, 크기가 1이거나 같은 축끼리만 자동으로 맞춰 계산합니다 — 이 규칙에 맞지 않으면 ValueError가 발생합니다.
다이어그램 렌더링 중…
PYTHON
scores = np.array([[80, 90, 70], [60, 75, 95]])   # shape (2, 3)
weights = np.array([0.3, 0.3, 0.4])                # shape (3,)
weighted = scores * weights   # weights가 (1, 3)으로 취급되어 각 행에 적용됨
print(weighted.sum(axis=1))

Tip

shape이 안 맞는다는 에러가 나면, 각 배열의 .shape을 먼저 출력해서 어느 축이 정렬되지 않는지부터 확인하세요 — 브로드캐스팅 버그의 대부분은 의도한 축과 실제 축이 다를 때 발생합니다.

선형대수

여기서는 선형대수을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.

행렬 곱, 역행렬, 노름 같은 계산은 머신러닝의 핵심 기반입니다.
PYTHON
a = np.array([[1, 2], [3, 4]])
b = np.array([1, 0])
print(a @ b)
print(np.linalg.det(a))

성능 & 메모리

성능 & 메모리은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

NumPy 배열은 같은 원소 수라도 정밀도(dtype)에 따라 메모리 사용량이 크게 달라집니다. 굳이 float64가 필요하지 않다면 float32로도 충분한 경우가 많고, 대량의 배열을 다루는 파이프라인에서는 이 차이가 메모리 부족으로 이어질 수 있습니다.
dtype원소당 크기주로 쓰는 곳
float64 (기본값)8 bytes정밀도가 중요한 과학 계산
float324 bytes딥러닝 모델 가중치 (메모리 절반으로 절약)
int8 / uint81 byte이미지 픽셀 값 (0~255)

Tip

for 루프로 배열 원소를 하나씩 처리하고 있다면 거의 항상 벡터화할 수 있는 신호입니다 — `np.where`, `np.sum(axis=...)`, 브로드캐스팅으로 바꿀 수 있는지 먼저 검토하세요.

NumPy 실무 설계

NumPy 실무 설계은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

NumPy는 loop를 vectorized operation으로 바꾸는 것보다 shape 계약을 명확히 하는 것이 먼저입니다. broadcasting이 의도와 다르게 동작하지 않도록 입력 차원을 검증해야 합니다.
결정 지점확인 질문실무 기준
경계NumPy 코드에서 바뀌기 쉬운 부분은 어디인가?입출력, 설정, 외부 연동, 핵심 규칙을 분리합니다.
상태상태가 어디서 생성되고 어디서 사라지는가?상태 소유자와 수명 주기를 코드로 드러냅니다.
장애실패했을 때 호출자는 무엇을 받는가?timeout, fallback, error contract를 먼저 정합니다.

NumPy 운영 기준

이 섹션은 NumPy 운영 기준을 실무 관점에서 정리합니다. 개념을 외우기보다, 어떤 상황에서 이 기준을 꺼내 쓸지에 초점을 맞춰보세요.

성능은 contiguous memory, dtype, temporary allocation, BLAS 사용 여부가 좌우합니다.

Tip

  • shape assertion
  • dtype control
  • temporary allocation
  • numerical tolerance

NumPy 검증 전략

NumPy 검증 전략은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.

수치 코드는 tolerance 기반 assertion, shape test, dtype test를 포함해야 합니다.
품질 축검증 방법완료 기준
정확성정상/실패 케이스를 자동화합니다.핵심 시나리오가 재현 가능하게 통과합니다.
회귀 방지버그 수정 시 동일 케이스를 테스트로 남깁니다.같은 장애가 다시 배포되지 않습니다.
운영성로그, 메트릭, 알림을 확인합니다.문제가 생겼을 때 원인 추적 경로가 있습니다.