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创建线程示例
May 06 Python
在Mac OS上搭建Python的开发环境
Dec 24 Python
python查看微信好友是否删除自己
Dec 19 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
python MySQLdb使用教程详解
Mar 20 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
浅谈Python 递归算法指归
Aug 22 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
Django 自定义分页器的实现代码
Nov 24 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 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边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
2017/01/21 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
Python脚本实现12306火车票查询系统
2016/09/30 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
200行python代码实现2048游戏
2019/07/17 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
大学毕业生通用自我评价
2014/01/05 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
公益广告宣传方案
2014/02/28 职场文书
个人四风对照检查材料
2014/09/26 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
债务纠纷代理词
2015/05/25 职场文书