numpy tofile

用法:
numpy.fromfile(file, dtype=float, count=- 1, sep='', offset=0, *, like=None)
从文本或二进制文件中的数据构造一个数组。

一种读取具有已知数据类型的二进制数据以及解析简单格式化的文本文件的高效方法。使用 tofile 方法写入的数据可以使用此函数读取。

参数:
file: 文件或 str 或路径
打开文件对象或文件名。

dtype: 数据类型
返回数组的数据类型。对于二进制文件,它用于确定文件中项目的大小和字节顺序。支持大多数内置数字类型,并且可能支持扩展类型。

count: int
要阅读的项目数。 -1 表示所有项目(即完整文件)。

sep: str
如果文件是文本文件,则项目之间的分隔符。空(“”)分隔符表示文件应被视为二进制文件。分隔符中的空格 (" ") 匹配零个或多个空白字符。仅由空格组成的分隔符必须至少匹配一个空格。

offset: int
与文件当前位置的偏移量(以字节为单位)。默认为 0。仅允许用于二进制文件。

like: array_like
允许创建不是NumPy 数组的数组的引用对象。如果作为like 传入的array-like 支持__array_function__ 协议,则结果将由它定义。在这种情况下,它确保创建一个与通过此参数传入的对象兼容的数组对象。

注意:
不要依赖组合文件和numpy.fromfile用于数据存储,因为生成的二进制文件不是平台独立的。特别是,不保存字节顺序或数据类型信息。数据可独立于平台存储.npy格式使用numpy.save和numpy.load反而。

例子:
构造一个ndarray:

>>> dt = np.dtype([('time', [('min', np.int64), ('sec', np.int64)]),
...                ('temp', float)])
>>> x = np.zeros((1,), dtype=dt)
>>> x['time']['min'] = 10; x['temp'] = 98.25
>>> x
array([((10, 0), 98.25)],
      dtype=[('time', [('min', '<i8'), ('sec', '<i8')]), ('temp', '<f8')])
将原始数据保存到磁盘:

>>> import tempfile
>>> fname = tempfile.mkstemp()[1]
>>> x.tofile(fname)
从磁盘读取原始数据:

>>> np.fromfile(fname, dtype=dt)
array([((10, 0), 98.25)],
      dtype=[('time', [('min', '<i8'), ('sec', '<i8')]), ('temp', '<f8')])
存储和加载数据的推荐方式:

>>> np.save(fname, x)
>>> np.load(fname + '.npy')
array([((10, 0), 98.25)],
      dtype=[('time', [('min', '<i8'), ('sec', '<i8')]), ('temp', '<f8')])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值