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实现目录树生成示例
Mar 28 Python
Python中用pycurl监控http响应时间脚本分享
Feb 02 Python
Python functools模块学习总结
May 09 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
发布你的Python模块详解
Sep 15 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
python写日志文件操作类与应用示例
Jul 01 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
python实现控制台输出彩色字体
Apr 05 Python
next在python中返回迭代器的实例方法
Dec 15 Python
python实现黄金分割法的示例代码
Apr 28 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异步执行的常用方式详解
2013/06/03 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
用原生js做单页应用
2017/01/17 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
Python验证码识别处理实例
2015/12/28 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
大学团支书的自我评价分享
2013/12/14 职场文书
教你打造完美的创业计划书
2014/01/06 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
有关浪费资源的建议书
2015/09/14 职场文书