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