Table of Contents
넘파이
정의
:배열 및 벡터화 연산
특징
일반 list에 비해 빠르고 효율적(큰 메트리스구성)
>반복문(for while문)없이 빠르게 데이터 처리
Ndarray
:NumPy의 N차원 배열 객체.
호출하는 법
Import numpy as np
array 만들기
Test_array = np.arry([1,4,5,8],int)
Print(test_array)
Type(test_array[3])
- np.arry 함수를 이용하여 배열생성
- 넘파이는 하나의 데이터 타입만 배열에 넣을 수 있음
- list와 가장 큰 차이점, 다이나믹 타이핑 지원X [1,2,’3’,4] ->X
dtype 체계정리
넘파이의 차원
- 1차원 축(행): 백터
- 2차원 축(열) : 매트릭스
- 3차원 축(채널): tensor(3차원 이상)
#list를 넘파이로 바꿔보기
import numpy as np
array = np.array([1, 2, 3])
배열의 크기 print
print(array.size)
3
배열 원소의 타입
print(array.dtype)
int64
인덱스 2의 원소
print(array[2])
3
array의 형태(크기)
print(array.shape)
(3,)->결과적으로 5개의 데이터 담김
다양한 형태의 배열을 초기화
import numpy as np
0부터 3까지의 배열 만들기
array1 = np.arange(4)
print(array1)
0으로 초기화
array2 = np.zeros((4, 4), dtype=float)
print(array2)
1로 초기화
array3 = np.ones((3, 3), dtype=str)
print(array3)
0부터 9까지 랜덤하게 초기화 된 배열 만들기
array4 = np.random.randint(0, 10, (3, 3))
print(array4)
평균이 0이고 표준편차가 1인 표준 정규를 띄는 배열
array5 = np.random.normal(0, 1, (3, 3))
print(array5)
#[0 1 2 3]
#[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
#[['1' '1' '1']
['1' '1' '1']
['1' '1' '1']]
#[[9 6 6]
[6 2 1]
[1 6 3]]
#[[-0.85995876 -2.27512351 -1.15556506]
[-0.5298595 0.18397865 0.03568352]
[ 0.00741686 -0.54831076 -1.38529353]]
다양한 형태로 합치기가 가능
기본 합체
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
array3 = np.concatenate([array1, array2])
print(array3.shape)
print(array3)
(6,)
[1 2 3 4 5 6]
배열 형태 바꾸기
import numpy as np
array1 = np.array([1, 2, 3, 4])
array2 = array1.reshape((2, 2))
print(array2)
[[1 2]
[3 4]]
-> np 안쓴다
배열 위 아래로 합치기
import numpy as np
array1 = np.arange(4).reshape(1, 4)
array2 = np.arange(8).reshape(2, 4)
array3 = np.concatenate([array1, array2], axis=0)
print(array3.shape)
print(array3)
(3, 4)
[[0 1 2 3]
[0 1 2 3]
[4 5 6 7]]