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과 동일) |
| intc | C의 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 라이센스를 따릅니다.