반응형

👋 들어가기 전

정말 늦었다고 생각하지만, AI공부를 더 이상 미룰 수 없다....
AI를 위한 다양한 파이썬 라이브러리 중, Numpy는 필수라고 들었다.
행렬 연산때문에 그런 듯???
이번 시간은 Numpy에 대한 설명과 간단한 연산 코드를 알아보자.
🏁 학습할 내용
- Numpy란
- 생성 및 메타데이터 얻기
- 특별한 기능
🧮 Numpy란
다차원 배열 연산에 특화된 패키지
🧩 역할
- 빠른 연산
- 주된 연산 처리가 C와 C++로 구현되어 있어, 기본 파이썬 연산보다 빠름
- 적은 메모리
- 동일한 타입을 연속적으로 저장하기때문에, 메모리 효율이 좋음
- 브로드캐스팅
- 모양이 다른 배열끼리도, 자동으로 크기를 맞춰 연산해주는 기능
- 다양한 수학 함수
- 데이터 연동
- Pandas,PyTorch등 다양한 데이터 분석도구들이 Numpy를 기반으로 구현됨
1️⃣생성 및 메타데이터 얻기
🔹생성 및 연산
import numpy as np
# 생성
x = np.array([1,2,3])
y = np.array([4,5,6])
#연산
print(x-y)
print(x+y)
print(x*y)
print(x//y)
print(x%y)
"""
OUTPUT
[-3 -3 -3]
[5 7 9]
[ 4 10 18]
[0 0 0]
[1 2 3]
"""
🔹메타데이터 얻기
import numpy as np
# 생성
x = np.array([[1,2,3],[4,5,6]])
print(x.shape) # 행렬의 형상
print(x.dtype) # 원소 자료형
"""
OUTPUT
(2, 3)
int64
"""
2️⃣특별한 기능
🔹브로드캐스트
2x2 행렬과 2x1 형상이 다른 두 배열을 곱해보자.
y에 해당하는 배열이 사실 곱해질 떄, [[2,3], [2,3]] 형태로 확장된 후 연산되므로
아래 결과를 올바르게 해석할 수 있다.
import numpy as np
# 생성
x = np.array([[1,2],[3,4]])
y = np.array([2,3])
print(x*y)
"""
OUTPUT
[[2 6]
[6 12]]
"""
🔹평탄화
N차원 배열을, 1차원 배열로평탄화를 할 수 있고,
또한 인덱스 배열을 통해 여러개의 원소를 한번에 얻을 수 있는 기능이 있다.
import numpy as np
# 생성
x = np.array([[1,2,3],[4,5,6],[7,8,9]])
X = x.flatten() # 평탄화
print(X) # 평탄화 결과
print(X[np.array([0,2,4])]) # 0,2,4 인덱스 값들만
print(X[X>3]) # 3보다 큰 원소들만
"""
OUTPUT
[1 2 3 4 5 6 7 8 9]
[1 3 5]
[4 5 6 7 8 9]
"""
출처
반응형
'Programing Langauge > python' 카테고리의 다른 글
| [Numpy] 행렬 계산 (0) | 2026.01.13 |
|---|---|
| pip install 명령어 에러 (0) | 2025.09.03 |
| 실행파일 배포하기 (0) | 2025.02.22 |
| with (0) | 2025.02.19 |
| 메서드 체이닝 (0) | 2025.02.19 |