Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Archives
Today
Total
11-21 17:48
관리 메뉴

hamlet-story

NUMPY - [실습] 배열 구조 활용 (axis) 본문

Language/Python

NUMPY - [실습] 배열 구조 활용 (axis)

hamlet-story 2024. 1. 7. 12:00

이전에 배열에 대한 개념배열을 표현하는 방법에 대해서 다루었습니다.

차원 배열중 2차원 배열로 작업을 할 때 'axis' 인수를 사용하하여 이미지를 전처리 하는 과정이 있는데,

이번에는 이 'axis' 인수를 활용하여 구조를 어떻게 변환 하는지 포스팅 해보도록 하겠습니다.

 

설명은 아래와 같이 이루어 집니다.

1. axis

2. axis 행(row)과 열(column)로 더하기

axis

axis 란 변수에 선언된 배열 차원에서 요소 인덱스 값을 기준으로 행렬 계산에 사용하는 인수 (argument) 입니다.

여기에서 인수 (argument) 란 함수 (function) 을 호출할 때 사용하게 되는 일련의 값들을 말하며, 아래의 예시와 같이 활용이 됩니다.

 

0~19까지의 숫자로 이루어진 5*4로된 2차원 배열 (array) 로 예를 들겠습니다.

import numpy as np
arr = np.array(range(20)).reshape((5,4))

print(arr)

# 출력
# > array([[ 0,  1,  2,  3],
#         [ 4,  5,  6,  7],
#         [ 8,  9, 10, 11],
#         [12, 13, 14, 15],
#         [16, 17, 18, 19]])

현재 위의 배열에서는 5*4 로 이루어진 배열 (array) 이며, 0번째 인덱스에는 5 행 (row) 이고, 1번째 인덱스에는 4 열(column) 을 나타내고 있습니다.

 

axis 인수 (argument) 관점에서는 이 0 값이 인덱스에서는 행 (row) 이고 1 값이 열 (column) 로 볼 수 있습니다.

axis 행(row)과 열(column)로 더하기

위의 개념으로 axis 인수 (argument) 활용을 더하기 과정을 통해 실습해보도록 하겠습니다.

행 (row) 기준으로 배열 (array) 요소값 더하기

import numpy as np
arr = np.array(range(20)).reshape((5,4))

print(np.sum(arr, axis=0))

# 출력
# > [40 45 50 55]

결과가 윗 처럼 나온 이유는

위에 사진 처럼 행(row) 을 기준으로 값들을 차례차례 더해 주었기 때문으로 볼 수 있습니다.

열 (column) 기준으로 배열 (array) 요소값 더하기

import numpy as np
arr = np.array(range(20)).reshape((5,4))

print(np.sum(arr, axis=1))

# 출력
# > [6 22 38 54 70]

이번에는 행(row) 과는 반대로 열(column) 을 기준으로 요소값을 더해 주었음을 확인 하실 수 있습니다.

마치며

이번 시간에는 배열 (array) 을 생성하여 어떻게 활용하는지 에 대한 내용중 'axis' 인수 값을 활용하는 법에 대해서 다루어 보았습니다.

 

다음 시간에는 이를 통하여 이미지를 어떻게 처리하는지 에 대해서 다루어 보도록 하겠습니다.

이상입니다.