NumPy(넘파이, Numerical Python)는 파이썬에서 과학 계산 및 데이터 분석을 위한 대표적인 라이브러리입니다. 다차원 배열 객체인 ndarray
를 제공하며, 수학 연산 및 행렬 연산을 효율적으로 수행할 수 있도록 최적화되어 있습니다.
pip install numpy
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr) # [1 2 3 4 5]
print(type(arr)) # <class 'numpy.ndarray'>
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])
print(arr_2d)
출력:
[[1 2 3]
[4 5 6]]
print(np.zeros((3, 3))) # 3x3 영행렬
print(np.ones((2, 4))) # 2x4 행렬 (모든 값이 1)
print(np.full((2, 2), 7)) # 모든 값이 7인 2x2 행렬
print(np.eye(3)) # 3x3 단위 행렬
print(np.arange(0, 10, 2)) # [0 2 4 6 8]
print(np.linspace(0, 1, 5)) # 0과 1 사이를 5등분한 배열
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # [5 7 9]
print(a - b) # [-3 -3 -3]
print(a * b) # [4 10 18]
print(a / b) # [0.25 0.4 0.5]
A = np.array([[1, 2], [3, 4]])
B = np.array([10, 20])
print(A + B)
# [[11 22]
# [13 24]]
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B) # 행렬 곱셈
print(np.dot(A, B)) # 같은 행렬 곱셈 결과
arr = np.array([1, 2, 3, 4, 5])
print(np.sum(arr)) # 합계: 15
print(np.mean(arr)) # 평균: 3.0
print(np.max(arr)) # 최댓값: 5
print(np.min(arr)) # 최솟값: 1
print(np.std(arr)) # 표준편차
print(np.sqrt(arr)) # 제곱근
arr = np.array([10, 20, 30, 40, 50])
print(arr[1]) # 20
print(arr[1:4]) # [20 30 40]
print(arr[:3]) # [10 20 30]
print(arr[::-1]) # [50 40 30 20 10] (거꾸로 출력)
arr_2d = np.array([[10, 20, 30], [40, 50, 60]])
print(arr_2d[0, 1]) # 20 (0번째 행, 1번째 열)
print(arr_2d[:, 1]) # [20 50] (모든 행의 1번째 열)
print(arr_2d[1, :]) # [40 50 60] (1번째 행의 모든 열)
np.random.seed(42) # 시드 고정 (결과 일관성 유지)
print(np.random.rand(3, 3)) # 0~1 사이의 난수 행렬
print(np.random.randint(1, 10, (3, 3))) # 1~10 사이의 정수 난수 행렬
arr = np.arange(1, 10)
print(arr.reshape(3, 3)) # 3x3 행렬로 변경
arr = np.array([3, 1, 4, 1, 5, 9])
print(np.sort(arr)) # 오름차순 정렬: [1 1 3 4 5 9]
A = np.array([[2, 3], [1, 4]])
b = np.array([5, 6])
x = np.linalg.solve(A, b) # Ax = b의 해 구하기
print(x)
기능 | NumPy (ndarray ) | Pandas (DataFrame ) |
---|---|---|
데이터 구조 | 다차원 배열 (ndarray ) | 테이블 형태 (DataFrame ) |
속도 | 빠름 (벡터 연산) | 다소 느림 (추가 기능) |
사용 목적 | 수학 계산, 머신러닝 | 데이터 분석, 시각화 |
인덱싱 | 숫자 인덱싱 사용 | 라벨 및 숫자 인덱싱 지원 |
ndarray
를 활용한 고속 연산을 익히면 효율적인 데이터 처리가 가능합니다. 🚀윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…