Numpy数组的保存与读取方法


Posted in Python onApril 04, 2018

1. 数组以二进制格式保存

np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组以未压缩的原始二进制格式保存在扩展名为npy的文件中,以数组a为例

np.save("filename.npy",a)
b = np.load("filename.npy")

利用这种方法,保存文件的后缀名字一定会被置为.npy

2. 存取文本文件

使用 np.savetxt 和 np.loadtxt 只能读写 1 维和 2 维的数组

np.savetxt:将数组写入以某种分隔符隔开的文本文件中

np.loadtxt:指定某种分隔符,将文本文件读入到数组中

np.savetxt("filename.txt",a)
b = numpy.loadtxt("filename.txt", delimiter=',')

3. 保存为二进制文件

使用数组的 tofile 函数可以方便地将数组中数据以二进制的格式写进文件

a.tofile("filename.bin")
b = np.fromfile("filename.bin",dtype = **)

该方法与np.save有几点区别:

tofile函数只能将数组保存为二进制文件,文件后缀名没有固定要求。这种保存方法对数据读取有要求,np.fromfile 需要手动指定读出来的数据的的dtype,如果指定的格式与保存时的不一致,则读出来的就是错误的数据。

tofile函数不能保存当前数据的行列信息,不管数组的排列顺序是C语言格式的还是Fortran语言格式,统一使用C语言格式输出。因此使用 np.fromfile 读出来的数据是一维数组,需要利用reshape指定行列信息。

例如下面的例子所示:

>>> a = np.arange(0,12)
>>> a.shape = 3,4
>>> a
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]])
>>> a.tofile("a.bin")
>>> b = np.fromfile("a.bin", dtype=np.float) # 按照float类型读入数据
>>> b # 读入的数据是错误的
array([ 2.12199579e-314,  6.36598737e-314,  1.06099790e-313,
     1.48539705e-313,  1.90979621e-313,  2.33419537e-313])
>>> a.dtype # 查看a的dtype
dtype('int32')
>>> b = np.fromfile("a.bin", dtype=np.int32) # 按照int32类型读入数据
>>> b # 数据是一维的
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>> b.shape = 3, 4 # 按照a的shape修改b的shape
>>> b
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]])

以上这篇Numpy数组的保存与读取方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中类的继承代码实例
Oct 28 Python
Python线程详解
Jun 24 Python
Python基于回溯法子集树模板解决取物搭配问题实例
Sep 02 Python
python给微信好友定时推送消息的示例
Feb 20 Python
详解python 模拟豆瓣登录(豆瓣6.0)
Apr 18 Python
Python发展简史 Python来历
May 14 Python
Python 占位符的使用方法详解
Jul 10 Python
anaconda中更改python版本的方法步骤
Jul 14 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
Python SELENIUM上传文件或图片实现过程
Oct 28 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
详解pytorch创建tensor函数
Mar 22 Python
基于Python Numpy的数组array和矩阵matrix详解
Apr 04 #Python
Python基于更相减损术实现求解最大公约数的方法
Apr 04 #Python
Python遍历numpy数组的实例
Apr 04 #Python
基于Python中numpy数组的合并实例讲解
Apr 04 #Python
python实现list由于numpy array的转换
Apr 04 #Python
pyhton列表转换为数组的实例
Apr 04 #Python
Python实现二维数组输出为图片
Apr 03 #Python
You might like
一个比较简单的PHP 分页分组类
2009/12/10 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
php反射应用示例
2014/02/25 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python实现的最近最少使用算法
2015/07/10 Python
在Django中同时使用多个配置文件的方法
2015/07/22 Python
python函数形参用法实例分析
2015/08/04 Python
python实现发送邮件及附件功能
2021/03/02 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
电大自我鉴定范文
2013/10/01 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
明星邀请函
2015/02/02 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
植树节新闻稿
2015/07/17 职场文书
员工工作心得体会
2019/05/07 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫