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 相关文章推荐
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 Python
Python列表生成器的循环技巧分享
Mar 06 Python
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
Django的数据模型访问多对多键值的方法
Jul 21 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
Jun 29 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
Python unittest模块用法实例分析
May 25 Python
对python多线程中Lock()与RLock()锁详解
Jan 11 Python
Django分页功能的实现代码详解
Jul 29 Python
Python识别html主要文本框过程解析
Feb 18 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
Python基础之字典常见操作经典实例详解
Feb 26 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
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
use jscript Create a SQL Server database
2007/06/16 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
再探JavaScript作用域
2014/09/24 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
python 美化输出信息的实例
2018/10/15 Python
详解django自定义中间件处理
2018/11/21 Python
Python变量访问权限控制详解
2019/06/29 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
群众路线自我剖析材料
2014/10/08 职场文书
单位未婚证明范本
2014/11/25 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
人民调解协议书
2016/03/21 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers
python实现高效的遗传算法
2021/04/07 Python
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS
javascript的setTimeout()使用方法总结
2021/11/20 Javascript