조금씩 꾸준히 완성을 향해

[Numpy] 배열의 구조와 정보 확인(shape, ndim, dtype, size, itemsize, nbytes, strides) 본문

Python/Numpy & Pandas

[Numpy] 배열의 구조와 정보 확인(shape, ndim, dtype, size, itemsize, nbytes, strides)

all_sound 2022. 9. 22. 23:24

배열의 구조 확인 (shape 함수)


▶ 1차원 배열 구조

# 1차원
test_array = np.array([1, 4, 5, 8], float)
print(test_array.shape) # 배열의 구조(shape)를 반환 (튜플 형태로)
# output : (4,) => 요소의 개수

 

 

▶ 2차원 배열 구조 

# 2차원
matrix = np.array([[1,2,5,8], [1,2,5,8], [1,2,5,8]])
print(matrix.shape)
# output : (3, 4) => (백터의 개수, 백터의 자리수) = (행의 개수, 열의 개수)

 

 

▶ 3차원 배열 구조

# 3차원 
tensor_rank3 = [[[1,2,5,8], [1,2,5,8], [1,2,5,8]],
                [[1,2,5,8], [1,2,5,8], [1,2,5,8]],
                [[1,2,5,8], [1,2,5,8], [1,2,5,8]],
                [[1,2,5,8], [1,2,5,8], [1,2,5,8]]]
print(np.array(tensor_rank3, int).shape)
# output : (4, 3, 4) => (차원의 수, 차원당 열의 개수, 차원당 행의 개수)

 

배열의 정보 확인 (ndim, dtype, size, itemsize, nbytes, strides)


# 배열의 다양한 정보를 확인하기 위한 함수 만들기
def array_info(array):
  print(array)
  print('ndim:', array.ndim) # 차원의 개수
  print('dtye:', array.dtype)  # 배열전체의 데이터 타입 확인
  print('size:', array.size) # 전체 요소의 개수 
  print('itemsize:', array.itemsize) #item당 bytes
  print('nbytes:', array.nbytes) #전체 배열의 bytes
  print('strides:', array.strides) #다음 차원으로 넘어가기 위해 필요한 bytes

 

1차원 배열

 

2차원 배열

 

3차원 배열