[python] numpy에서 bytes로 변경하는 방법



numpy to bytes 



tobytes method는 numpy 배열을 bytes로 변경하여 리턴합니다.

All Code

import numpy as np

arr = np.array([[0, 1], [2, 3]], dtype=np.uint8)
print(f'arr: {arr}')
b_arr = arr.tobytes()
print(f'tobytes: {len(b_arr)}, type: {type(b_arr)} , bytes: {b_arr}')
# 출력
# arr: [[0 1]
#         [2 3]]
# tobytes: 4, type: <class 'bytes'>, bytes: b'\x00\x01\x02\x03'


tobytes Option

order: 'C', 'F' / default 'C'

둘은 multidimensional arrays일 경우 메모리 할당 방법의 차이가 있습니다.

'C': Row-major order

'F': Column-major order

tobytes option code

arr = np.array([[01][23]]dtype=np.uint8)
b_c_arr = arr.tobytes('C')
print(f'C, tobytes: {len(b_c_arr)}, type: {type(b_c_arr)}, bytes: {b_c_arr}')
b_f_arr = arr.tobytes('F')
print(f'F, tobytes: {len(b_f_arr)}, type: {type(b_f_arr)} bytes: {b_f_arr}')
# 출력
# C, tobytes: 4, type: <class 'bytes'>, bytes: b'\x00\x01\x02\x03'
# F, tobytes: 4, type: <class 'bytes'> bytes: b'\x00\x02\x01\x03'

bytes 할당 방법 차이를 확인할 수 있습니다.


참고문헌



댓글

이 블로그의 인기 게시물

[opencv-python] 이미지 크기조절(resize) 하는 법

[python]파이썬: csv reader header skip (첫번째 행 무시하기, 안읽기)

[python] selenium close와 quit 차이점