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分割和拼接字符串
Nov 01 Python
gearman的安装启动及python API使用实例
Jul 08 Python
深入解析Python中的WSGI接口
May 11 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
Jul 12 Python
Python实现重建二叉树的三种方法详解
Jun 23 Python
python 按不同维度求和,最值,均值的实例
Jun 28 Python
Python实现iOS自动化打包详解步骤
Oct 03 Python
python频繁写入文件时提速的方法
Jun 26 Python
使用keras实现densenet和Xception的模型融合
May 23 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 Python
python中mongodb包操作数据库
Apr 19 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实现文件安全下载
2006/10/09 PHP
PHP+MYSQL开发工具及资源收藏
2007/01/02 PHP
php 日期时间处理函数小结
2009/12/18 PHP
php的hash算法介绍
2014/02/13 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
PHP模块memcached使用指南
2014/12/08 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
python实现数据写入excel表格
2018/03/25 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
技能比武方案
2014/05/21 职场文书
观看建国大业观后感
2015/06/01 职场文书
优秀创业计划书分享
2019/07/19 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技