我正在尝试将文件中的 8 位整数值读取到
numpy
数组中,并将它们转换为 32 位浮点数。我真的需要将这些32位浮点数写入特定的内存缓冲区(我正在使用共享内存进行多处理)。我试图弄清楚是否有一种方法可以直接将类型转换为 32 位浮点数的预分配缓冲区,而无需创建临时数组。
例如,如果有一个带有输出参数的
astype
方法,例如:
num_samples = 100
raw_buffer = bytearray(num_samples)
with open(filepath, 'rb') as f:
f.readinto(raw_buffer)
int_array = np.frombuffer(raw_buffer, dtype=np.int8)
float_buffer = bytearray(num_samples * 4)
int_array.astype(np.float32, out=float_buffer)
有没有办法做这样的事情?