Python/Numpy

[Python] 파이썬 Numpy - shape, size, ndim (행렬의 차원, 형태)

나비🦋 2024. 2. 25. 16:07
반응형

안녕하세요! 나비입니다 🦋

이번 포스팅의 주제는 파이썬 numpy 라이브러리의 메소드인 ”shape, size, ndim”입니다.

numpy는 선형대수학 계산에 최적화된 라이브러리인데요, 위에서 언급한 세 가지 메소드는 행렬의 크기, 차원에 대한 정보를 알려줍니다.

순서대로 살펴볼게요!

(numpy를 np로 불러왔다고 가정합니다)


1. shape


shape는 주어진 행렬의 열과 행의 개수를 알려주는 함수입니다. 예를 들어, 2 x 3 행렬의 경우 shape의 출력값은 (2, 3)입니다.

참고로, 1차원의 1은 굳이 표시하지 않습니다.


아래에서 코드를 보여드릴게요!!

A = np.array([1,2,3], [4,5,6])
A.shape

출력값은 아래와 같습니다

(2, 3)



이번에는 3차원 행렬로 해볼게요.

B = np.array([[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]]]
B.shape

출력은 아래와 같습니다.

(2, 3, 2)


이처럼, shape 메소드는 소괄호 안에 행과 열의 개수를 각각 표시해줍니다.


2. size


size는 하나의 행렬에 들어있는 전체 원소 개수를 세어주는 메소드입니다.

예를 들어, 2 x 3 행렬의 경우 6을 출력하고, 2 x 3 x 2 행렬의 경우 12를 출력합니다.

코드로도 보여드릴게요!

C = np.array([1,2,3,4])
C.size

출력은 당연히

4

이렇게 나옵니다.


예시 하나 더 보여드릴게요!

A = np.array([1,2,3], [4,5,6])
A.size
6


shape, ndim에 비해 size는 비교적 간단한 메소드입니다! 대단한 선형대수학 지식이 필요하지는 않은 것 같습니다.



3. ndim


마지막으로, ndim은 행렬의 차원을 반환하는 메소드입니다. numpy의 n과 dimension의 dim을 따온 것 같습니다.

행과 열의 개수, 차원은 다른 개념입니다! 예를 들어, 2 x 3 x 2의 경우, 이 행렬의 차원은 3차원입니다. 2 x 5 행렬의 차원은 2차원이고요.

코드로 구현해볼게요!

B = np.array([[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]]]
B.ndim
3



예시 하나 더!

C = np.array([1,2,3,4])
C.ndim
1





여기까지 행렬의 크기와 차원을 알려주는 numpy의 3가지 메소드를 설명드렸습니다!

긴 글 읽어주셔서 감사드리며, 도움이 되었다면 구독과 좋아요 부탁드려요! ✨✨

반응형