NumPy 배열 만들기

NumPy 배열 만들기

NumPy에서는 다양한 함수로 원하는 형태의 배열을 만들 수 있어요. 0부터 채우기, 1로 채우기, 범위 생성, 0과 1 사이 난수, 항등 행렬 등 작업마다 맞는 생성 함수가 있어요.

출처: https://numpy.org/doc/stable/user/quickstart.html

기본 생성 함수

zeros, ones, full은 값을 채워서 배열을 만들어요.

import numpy as np

z = np.zeros((3, 3))        # 0으로 채운 3x3
o = np.ones(4)              # 1로 채운 1차원
f = np.full((2, 2), 7)      # 7로 채운 2x2

arange는 범위 기반의 배열을, linspace는 구간을 균등하게 나눈 배열을 만들어요.

a = np.arange(0, 10, 2)      # [0, 2, 4, 6, 8]
l = np.linspace(0, 1, 5)     # 0과 1 사이를 5개로 균등 분할

난수와 항등 행렬

random 모듈로 난수 배열을 만들고, eye로 항등 행렬을 만들어요.

r = np.random.rand(3, 3)     # [0,1) 균등 난수 3x3
n = np.random.randn(3)       # 표준정규 난수 3개
e = np.eye(3)                # 3x3 단위행렬

random.seed()로 시드를 고정하면 결과를 재현할 수 있어요.

reshape과 타입 변환

만든 배열은 reshape로 모양을 바꾸고, astype으로 타입을 변환할 수 있어요.

x = np.arange(6).reshape(2, 3)   # 1x6 -> 2x3
y = x.astype(np.float64)          # 정수 -> 실수

더 알아보기