numpy란 ?
-numpy는 다차원 배열을 효과적으로 처리할수 있도록 도와주는 도구
- 현실 세계의 다양한 데이터는 배열 형태로 표현할 수 있습니다.
- python의 기본 list 에 비해 빠르고 강력한 기능을 제공합니다.
numpy 의 차원
- 1차원 축(행) : axis 0 => Vector
- 2차원 축(열) : axis 1 => Matrix 행렬
- 3차원 축(채널) : axis 2 => Tensor (3차원 이상)
numpy 기초
import numpy as np
list_data = [1,2,3]
array =np.array(list_data)
print(array)
print(array.size)
print(array.dtype)
print(array[2])
[1 2 3]
3
int32
3
# 0부터 3까지의 배열 만들기
array1 = np.arange(4)
print(array1)
[0 1 2 3]
array2 = np.zeros((4,4),dtype=float)
print(array2)
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
array3 = np.ones((3,3),dtype= str)
print(array3)
[['1' '1' '1']
['1' '1' '1']
['1' '1' '1']]
# 0부터 9까지 랜덤하게 초기화 된 배열 만들기
array4 = np.random.randint(0,10,(3,3))
print(array4)
[[2 8 3]
[6 5 0]
[4 3 6]]
# 평균 0이고, 표준 편차가 1인 표준 정규를 띄는 배열
array5 = np.random.normal(0,1,(3,3))
print(array5)
[[ 0.08001771 2.32032522 1.97830127]
[ 0.12103209 -1.03117543 0.77862853]
[-1.31782498 -0.92064003 1.53647443]]
Numpy 배열 합치기
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]
Numpy 배열 형태 바꾸기
import numpy as np
array1 = np.array([1,2,3,4])
array2 = array1.reshape((2,2))
print(array2)
[[1 2]
[3 4]]
세로 축합치기
import numpy as np
array1 = np.arange(4).reshape(1,4)
array2 = np.arange(8).reshape(2,4)
print(array1)
print(array2)
array3 = np.concatenate([array1,array2],axis=0)
print(array3)
[[0 1 2 3]]
[[0 1 2 3]
[4 5 6 7]]
[[0 1 2 3]
[0 1 2 3]
[4 5 6 7]]
import numpy as np
array = np.arange(8).reshape(2,4)
#axis=1 은 열을 의미함 [2]는 인텍스 2부터 라는 뜻
left, right = np.split(array,[2],axis=1)
print(left.shape)
print(right.shape)
print(array)
print(left)
print(right
(2, 2)
(2, 2)
[[0 1 2 3]
[4 5 6 7]]
[[0 1]
[4 5]]
[[2 3]
[6 7]]
print(right[1][1])
7
반응형
'opencv' 카테고리의 다른 글
Numpy의 연산과 함수 (0) | 2021.06.15 |
---|---|
행렬의 필요성 (0) | 2021.06.15 |
Region of Interest, ROI (0) | 2021.04.08 |
캐니엣지 (0) | 2021.04.08 |
허프라인 (0) | 2021.04.06 |