배열과 axis(축)
1차원 배열
- X축만 존재
- axis = 0만 존재. 각 값을 의미
- 대괄호가 1개로 시작
- ex) [1,2,3,4,5]
import numpy as np
x = np.array([1,2,3,4,5])
x.shape
# (5,)
5개의 요소
2차원 배열
- X축과 Y축이 존재
- axis = 0, 1이 존재
- 0은 X축인 행, 1은 Y축인 열을 의미
- depth는 1
- 대괄호가 2개로 시작
- ex) [[ 1, 2 ] ,[ 3, 4 ] ,[ 5, 6 ]]
import numpy as np
x = np.array([[ 1, 2 ] ,[ 3, 4 ] ,[ 5, 6 ]])
'''
[
[ 1, 2 ]
,[ 3, 4 ]
,[ 5, 6 ]
]
'''
x.shape
#(3, 2)
1차원인 2개의 요소를 3개의 배열로 구성
3차원 배열
- X축, Y축, Z축이 존재
- Z는 depth를 의미
- axis = 0, 1, 2가 존재
- 0은 X축인 행, 1은 Y축인 열, 2는 Z축인 depth를 의미
- 대괄호가 3개로 시작
- ex) [[[ 1, 2, 3, 4],[ 5, 6, 7, 8]],[[ 11, 12, 13, 14],[ 15, 16, 17, 18]]]
import numpy as np
x = np.array([[[ 1, 2, 3, 4],[ 5, 6, 7, 8]],[[ 11, 12, 13, 14],[ 15, 16, 17, 18]],[[ 21, 22, 23, 24],[ 25, 26, 27, 28]]])
'''
[
[
[ 1, 2, 3, 4]
,[ 5, 6, 7, 8]
]
,[
[ 11, 12, 13, 14]
,[ 15, 16, 17, 18]
]
,[
[ 21, 22, 23, 24]
,[ 25, 26, 27, 28]
]
]
'''
x.shape
#(3, 2, 4)
가장 안쪽 차원 4개 요소를 2개의 배열로 구성. 이것을 다시 3개의 배열로 구성
axis 개념으로 np.sum 연산
x,y,z인 3차원 배열인 경우
- axis = 0은 x요소를 나타냄
- np.sum시에 axis=0을 기준으로 집계하면 x요소가 합산되어, y,z 형태의 2차원 배열이 됨
- axis = 1은 y요소를 나타냄
- np.sum시에 axis=1을 기준으로 집계하면 y요소가 합산되어, x,z 형태의 2차원 배열이 됨
- axis = 2은 z요소를 나타냄
- np.sum시에 axis=2을 기준으로 집계하면 z요소가 합산되어, x,y 형태의 2차원 배열이 됨
예제) 3,2,4 형태의 3차원 배열
axis = 0으로 합산
- 3,2,4 배열에서 x인 3요소가 합산되어 2,4 형태의 배열로 변환
- x는 가장 바깥의 차원에 해당되기 때문에 합산하면 첫번째 차원의 대괄호가 사라짐
- 첫번째 차원의 요소를 합산
- 배열의 합은 각 차원의 순서 값 끼리 합산
- ex) 1, 11, 21은 해당 차원의 같은 순서인 값
- 2,4 형태로 변환됨
[
[ 1 + 11 + 21, 2 + 12 + 22, 3 + 13 + 23, 4 + 14 + 24]
,[ 5 + 15 + 25, 6 + 16 + 26, 7 + 17 + 27, 8 + 18 + 28]
]
axis = 1으로 합산
- 3,2,4 배열에서 y인 2요소가 합산되어 3,4 형태의 배열로 변환
- y는 가장 두번째 차원에 해당되기 때문에 합산하면 두번째 차원의 대괄호가 사라짐
- 두번째 차원의 요소를 합산
- 배열의 합은 각 차원의 순서 값 끼리 합산
- ex) 1, 5는 해당 차원의 같은 순서인 값
- 2,4 형태로 변환
[
[ 1 + 5, 2 + 6 , 3 + 7, 4 + 8 ]
,[ 11 + 15, 12 + 16, 13 + 17, 14 + 18]
,[ 21 + 25, 22 + 26, 23 + 27, 24 + 28 ]
]
axis = 2으로 합산
- 3,2,4 배열에서 z인 4요소가 합산되어 3,2 형태의 배열로 변환
- z는 가장 세번째 차원에 해당되기 때문에 합산하면 세번째 차원의 대괄호가 사라짐
- 마지막 차원의 요소를 합산
- 마지막 차원의 값들은 []로 묶여 있지 않으므로 전체 요소 합
[
[ 1 + 2 + 3 + 4 , 5 + 6 + 7 + 8 ]
,[ 11 + 12 + 13 + 14 , 15 + 16 + 17 + 18 ]
,[ 21 + 22 + 23 + 24 , 25 + 26 + 27 + 28 ]
]
'IT 기본 > 파이썬' 카테고리의 다른 글
python에서 with문 (0) | 2020.06.11 |
---|