📅  最后修改于: 2023-12-03 15:18:03.062000             🧑  作者: Mango
Numpy Recarray.tobytes()函数将记录数组(Recarray)转化为bytes,以便将其写入文件或通过网络发送。此函数的文档描述如下:
numpy.recarray.tobytes(self, order='C')
参数:
order
: 字节顺序。接受'C'和'F'(行优先)。返回值:
bytes
: 压缩的数据。import numpy as np
# 构建一个记录数组(recarray)
dt = np.dtype([('name', np.unicode_, 16), ('age', np.int32), ('height', np.float64)])
arr = np.rec.array([('Tom', 25, 170.1), ('Jerry', 30, 180.), ('Spike', 35, 160.5)], dtype=dt)
# 使用tobytes()函数将记录数组转化为bytes
arr_bytes = arr.tobytes()
# 从bytes中解压出记录数组
reconstructed_arr = np.frombuffer(arr_bytes, dtype=dt)
# 打印解压后的记录数组
print(reconstructed_arr)
输出:
[('Tom', 25, 170.1) ('Jerry', 30, 180. ) ('Spike', 35, 160.5)]
该方法可用于将记录数组保存在文件或通过网络发送。
注意:在使用tobytes()函数进行序列化时,请始终确定您创建了记录数组的完整定义(即数据类型)。如果接收方不知道记录数组的定义,则无法正确地反序列化记录数组。