IT/파이썬

[Python] numpy 기본 - matrix attribute (ndim, shape, dtype, size, itemsize, transpose)

천사환 2024. 5. 16. 14:20
반응형

이번에는 이어서 numpy로 저장된 행렬에 대한 attribute를 보려고 합니다. 

 

 

일단 3*5 matrix를 만들었습니다.

 

 

dir() 이라는 함수를 이용하면 속성을 쭉 볼 수가 있는데요. method까지 같이 나열되어서 보기가 상당히 힘듭니다. 

 

그래서 이 중에 기본적인 것들만 몇 개 소개를 하려고 합니다.


.ndim

ndim은 dimension, 차원을 의미합니다.

2차원이라서 2가 결과로 나왔습니다.

 

.shape

shape은 행렬 모양, m * n 행렬이면 (m, n)의 tuple로 결과가 나옵니다.

 

 

각 dimension axis를 지정하면 해당 축의 갯수를 알 수 있습니다.

.shape[0]: 행의 갯수

.shape[1]: 열의 갯수

 

.dtype

dtype은 행렬을 구성하는 data type을 알려줍니다. 정수면 int, 소수면 float가 될 것입니다.

여기서 하나라도 float면 그냥 float라고 결과가 나옵니다.

 

.itemsize

itemsize는 element 별 바이트 수를 의미합니다. item의 size인거죠.

 

.size

그냥 size도 있습니다. 이건 element의 총 갯수를 의미합니다.

n*m 행렬이면 행의 갯수와 열의 갯수를 곱한 nm이 size가 될 것입니다.

3*5라서 15가 나왔습니다.

 

.T (transpose)

T는 transpose를 의미합니다. 저는 개인적으로 transpose된 값을 attribute로 가지고 있다는 것이 신기했습니다.

 


네, attribute를 보는 것이기 때문에 괄호가 필요가 없습니다. 그리고 또 원래 행렬에 모두 종속적인 값입니다.

당연히 종속되는 것이지만 transpose의 경우 값을 변경하면 원래 행렬에도 같이 반영되기 때문에,

transpose도 attribute로서 존재하는 것을 꼭 기억해야 합니다.

반응형