포스트

Start_Array

Start_Array

Start_Array

1
2
3
import numpy

numpy.__version__
1
'1.26.4'
1
import numpy as np
1
2
3
4
5
6
7
# 단일 타입의 조밀한 배열(dense array)을 만드는 데 사용
import array

L = list(range(10))
# i는 타입 코드
A = array.array('i', L)
A
1
array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
1
2
# numpy는 타입이 다를 경우 상위 타입을 가짐(정수의 상위 타입인 부동 소수점으로 변환)
np.array([3.14, 4, 2, 3])
1
array([3.14, 4.  , 2.  , 3.  ])
1
2
# 타입을 명시적으로 선언
np.array([1, 2, 3, 4], dtype='float32')
1
array([1., 2., 3., 4.], dtype=float32)
1
2
# 리스트를 중첩하여 다차원 배열을 초기화
np.array([range(i, i + 3) for i in [2, 4, 6]])  # list comprehenshion
1
2
3
array([[2, 3, 4],
       [4, 5, 6],
       [6, 7, 8]])

처음부터 배열 생성

1
2
# 0으로 채운 길이 10의 정수 배열 만들기
np.zeros(10, dtype=int)
1
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
1
2
# 1로 채운 3x5 부동 소수점 배열 만들기
np.ones((3, 5), dtype=float)
1
2
3
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])
1
2
# 3.14로 채운 3x5 배열 만들기
np.full((3, 5), 3.14)
1
2
3
array([[3.14, 3.14, 3.14, 3.14, 3.14],
       [3.14, 3.14, 3.14, 3.14, 3.14],
       [3.14, 3.14, 3.14, 3.14, 3.14]])
1
2
3
4
# 선형 수열로 채운 배열 만들기
# 0에서 시작해 2씩 더해 20까지 채움
# 내장 함수인 range()와 유사
np.arange(0, 20, 2)
1
array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])
1
2
# 0과 1 사이에 일정한 간격을 가진 다섯 개의 값으로 채운 배열 만들기
np.linspace(0, 1, 5)
1
array([0.  , 0.25, 0.5 , 0.75, 1.  ])
1
2
3
# 균등하게 분포된 3x3 배열 만들기
# 0과 1 사이의 난수로 채움
np.random.random((3, 3))
1
2
3
array([[0.49953877, 0.50489739, 0.83171199],
       [0.46535972, 0.91412414, 0.74109956],
       [0.92264159, 0.55546554, 0.33409616]])
1
2
# 정규 분포(평균 = 0, 표준 편차 = 1)의 난수로 채운 3x3 배열 만들기
np.random.normal(0, 1, (3, 3))
1
2
3
array([[ 0.47755455, -0.01663067, -1.96895871],
       [ 0.20035553, -1.71585232,  0.82711553],
       [ 0.45542781,  1.25252053,  0.27398803]])
1
2
# [0, 10] 구간의 임의의 정수로 채운 3x3 배열 만들기
np.random.randint(0, 10, (3, 3))
1
2
3
array([[5, 7, 6],
       [3, 7, 5],
       [5, 6, 1]])
1
2
# 3x3 단위 행렬 만들기
np.eye(3)
1
2
3
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
1
2
3
# 세 개의 정수를 가지는 초기화되지 않은 배열 만들기
# 값은 해당 메모리 위치에 이미 존재하고 있는 값으로 채움
np.empty(3)
1
array([1., 1., 1.])

NumPy 표준 데이터 타입

데이터 타입설명
bool_1바이트로 저장된 부울 값(true & false)
int_기본 정수 타입(일반적으로 C의 long과 동일)
intcC의 int와 동일(일반적으로 C의 int와 동일)
intp인덱싱에 사용되는 정수(일반적으로 C의 ssize_t와 동일)
int8바이트(-128 ~ 127)
int16정수(-32768 ~ 32767)
int32정수(-2^31 ~ 2^31-1)
int64정수(-2^63 ~ 2^63-1)
uint8부호 없는 정수(0 ~ 255)
uint16부호 없는 정수(0 ~ 65535)
uint32부호 없는 정수(0 ~ 2^32-1)
uint64부호 없는 정수(0 ~ 2^64-1)
float_float64의 약칭
float16반 정밀도 부동 소수점: 부호 비트, 5비트 지수, 10비트 가수
float32단 정밀도 부동 소수점: 부호 비트, 8비트 지수, 23비트 가수
float64배정밀도 부동 소수점: 부호 비트, 11비트 지수, 52비트 가수
complex_complex128의 약칭
complex64복소수, 두 개의 32비트 부동 소수점으로 표현
complex128복소수, 두 개의 64비트 부동 소수점으로 표현
1
이 기사는 저작권자의 CC BY-NC 4.0 라이센스를 따릅니다.