인공지능

[ 다차원 배열의 축] Axis

sujin7837 2021. 1. 23. 22:27
반응형

다차원 배열

1차원 배열: x축만을 갖는 배열로, 벡터의 각 요소는 그 자체가 row입니다.

2차원 배열: x축과 y축을 갖는 배열로, depth가 1이라고 할 수 있습니다.

3차원 배열: x축, y축, z축을 모두 갖는 배열로, 각 컬럼은 벡터 형태를 가지며 이러한 벡터를 depth로 표현합니다.

4차원 이상의 배열: z축의 depth 요소가 스칼라가 아니라 벡터 이상의 자료형을 갖습니다.

 

 

 

shape(4, 2, 4)의 배열

Numpy의 Sum 함수 작동 방식

arr=np.arrange(0, 32)
len(arr)
->32

arr
->array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])

v=arr.reshape([4, 2, 4])

v.ndim: v의 차원

v.ndim
->3

 

1. axis=None

데이터의 모든 요소의 합을 반환합니다.(모든 요소들의 단순 합산)

v.sum()
->496

 

2. axis=0

x축을 기준으로 합을 구하는 방식으로, x축 row를 합산합니다.

결과적으로 shape은 row를 제거한 (2, 4)가 반환됩니다.

res01=v.sum(axis=0)
res01.shape
->(2, 4)

res01
->array([[48, 52, 56, 60],
         [64, 68, 72, 76]])

 

 

3. axis=1

y축을 기준으로 합을 구하는 방식으로, y축 column을 합산합니다.

결과적으로 shape은 column을 제거한 (4, 4)가 반환됩니다.

 

res02=v.sum(axis=1)
res02.shape
->(4, 4)

res02
->array([[4, 6, 8, 10],
		 [20, 22, 24, 26],
         [36, 38, 40, 42],
         [52, 54, 56, 58]])

 

 

 

4. axis=2

z축을 기준으로 합을 구하는 방식으로, z축 depth를 합산합니다.

결과적으로 shape은 depth를 제거한 (4, 2)가 반환됩니다.

이 때 depth는 1개의 스칼라값으로 변환되며, 각 row의 컬럼들도 1개의 스칼라값으로 변환됩니다.

 

res03=v.sum(axis=2)
res03.shape
->(4, 2)

res03
->array([[6, 22],
		 [38, 54],
         [70, 86],
         [102, 118]])

 

5. 4차원 이상의 배열

3차원 배열과 같은 방식으로 개념을 적용하고 확장할 수 있습니다.

반응형