hamlet-story
NUMPY - [실습] 배열 구조 활용 (axis) 본문
이전에 배열에 대한 개념과 배열을 표현하는 방법에 대해서 다루었습니다.
차원 배열중 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' 인수 값을 활용하는 법에 대해서 다루어 보았습니다.
다음 시간에는 이를 통하여 이미지를 어떻게 처리하는지 에 대해서 다루어 보도록 하겠습니다.
이상입니다.
'Language > Python' 카테고리의 다른 글
이미지 처리 기초 OpenCV와 Numpy로 이미지 다루기 (0) | 2024.01.11 |
---|---|
파이썬으로 OpenCV와 Numpy 를 활용하여 이미지 생성하기 (0) | 2024.01.09 |
OpenCV - [실습] OpenCV와 함께하는 파이썬 이미지 및 비디오 처리 기초 (1) | 2024.01.08 |
NUMPY - [실습] 배열 구조 표현 (0) | 2024.01.06 |
PYTHON - [개념] GIL (Global Interpreter Lock) 에 대해서 알아보자 (0) | 2024.01.02 |