You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将二维numpy ndarray存储为无头部的float32原始二进制文件?

如何将二维numpy ndarray存储为指定格式的原始二进制文件

要实现行优先顺序、无填充、无头部的float32原始二进制存储,可以直接使用numpy的ndarray.tofile()方法,步骤如下:

  1. 确保数组是float32类型
    如果你的数组不是float32格式,先通过astype()转换:

    arr = arr.astype(np.float32)
    
  2. 调用tofile()写入文件
    直接调用不带format参数的tofile(),它会以原始二进制格式写入,默认遵循numpy的C顺序(行优先),且不会添加任何头部、填充信息:

    arr.tofile("your_output_file.bin")
    

完整示例

import numpy as np

# 创建二维示例数组
original_arr = np.array([[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]])
# 转换为float32类型
float32_arr = original_arr.astype(np.float32)
# 写入原始二进制文件
float32_arr.tofile("raw_float32_data.bin")

# 可选:读取文件验证正确性
loaded_arr = np.fromfile("raw_float32_data.bin", dtype=np.float32).reshape(2, 3)
print(loaded_arr)
# 输出:
# [[0.1 0.2 0.3]
#  [0.4 0.5 0.6]]

关键说明

  • tofile()无format参数时,默认输出原始二进制,而非文本格式;
  • numpy数组默认采用C顺序(行优先)存储,因此tofile()会按行优先顺序写入数据;
  • 写入的文件没有任何头部信息或额外填充,完全是连续的float32二进制字节流。

内容的提问来源于stack exchange,提问作者tmlen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 13:27:05