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的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
Python线程创建和终止实例代码
Jan 20 Python
Python装饰器原理与简单用法实例分析
Apr 29 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
Python读取txt内容写入xls格式excel中的方法
Oct 11 Python
Python二维码生成识别实例详解
Jul 16 Python
python 标准差计算的实现(std)
Jul 29 Python
tensorboard实现同时显示训练曲线和测试曲线
Jan 21 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Python decimal模块使用方法详解
Jun 08 Python
Python内置包对JSON文件数据进行编码和解码
Apr 12 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
phpMyadmin 用户权限中英对照
2010/04/02 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
jQuery 源码分析笔记(7) Queue
2011/06/19 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Python读取键盘输入的2种方法
2015/06/16 Python
使用Python生成XML的方法实例
2017/03/21 Python
Python实现完整的事务操作示例
2017/06/20 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
Python 互换字典的键值对实例
2019/02/12 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
numpy.array 操作使用简单总结
2019/11/08 Python
Python 定义只读属性的实现方式
2020/03/05 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
CSS3控制HTML元素动画效果
2014/02/08 HTML / CSS
毕业实习证明(4篇)
2014/10/28 职场文书
个人催款函范文
2015/06/24 职场文书
Pytest中skip skipif跳过用例详解
2021/06/30 Python