python numpy存取文件的方式


Posted in Python onApril 01, 2020

 NumPy提供了多种存取数组内容的文件操作函数。保存数组数据的文件可以是二进制格式或者文本格式。二进制格式的文件又分为NumPy专用的格式化二进制类型和无格式类型。

numpy格式的文件可以保存为后缀为(.npy/.npz)格式的文件

1. tofile()和fromfile()

  • tofile()将数组中的数据以二进制格式写进文件
  • tofile()输出的数据不保存数组形状和元素类型等信息
  • fromfile()函数读回数据时需要用户指定元素类型,并对数组的形状进行适当的修改
import numpy as np
# 随机生成12个数字并将其有一维转换成3*4的矩阵形式
a = np.arange(12)
print("一维数组:",a)
a.shape = 3,4
print("3*4的矩阵:",a)
# 将数组中的数据以二进制格式写入到文件
a.tofile('a.bin')
# fromfile在读取numpy文件时需要自己指定数据格式,并且原格式并为保存
b1 = np.fromfile('a.bin', dtype=np.float) # 按照float读取数据
b2 = np.fromfile('a.bin', dtype=np.int) # 按照int读取数据
b3 = np.fromfile('a.bin', dtype=np.int32) # 按照int32读取数据
print('float格式b1:{},\nint格式b2:{},\nint32格式b3:{}'.format(b1,b2,b3))
b3.shape = 3,4
print('b3:',b3)

python numpy存取文件的方式

2. save() 和 load(),savez()

  • NumPy专用的二进制格式保存数据,它们会自动处理元素类型和形状等信息
  • 如果想将多个数组保存到一个文件中,可以使用savez()
  • savez()的第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起名
  • 非关键字参数传递的数组会自动起名为arr_0、arr_1、...。
  • savez()输出的是一个扩展名为npz的压缩文件,其中每个文件都是一个save()保存的npy文件,文件名和数组名相同
  • load()自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为键获取数组的内容
import numpy as np
a = np.arange(12)
a.shape = 3,4
# 将数据存储为npy/npz
np.save('a.npy', a)
np.save('a.npz', a)
c = np.load('a.npy')
print('save-load:',c)
# 存储多个数组
b1 = np.array([[6, 66, 666],[888, 88,8]])
b2 = np.arange(0, 1.0, 0.1)
c2 = np.sin(b2)
np.savez('result.npz', b1,b2,sin_arry = c)
c3 = np.load('result.npz') # npz文件时一个压缩文件
print(c3)
print("数组b1:{}\n数组b2:{}\n数组sin_arry:{}".format(c3['arr_0'],c3['arr_1'],c3['sin_arry']))

python numpy存取文件的方式

 3. savetxt() 和 loadtxt()

  • 读写1维和2维数组的文本文件
  • 可以用它们读写CSV格式的文本文件

用这种方式来对数据进行存储,方便深度学习中, 保存了训练集,验证集,测试集,还包括他们的标签,用这个方式存储起来,要啥加载啥,文件数量大大减少,也不会到处改文件名。算是get到了另外一种好的存储数据的方式

总结

以上所述是小编给大家介绍的python利用numpy存取文件的方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python多线程抓取天涯帖子内容示例
Apr 03 Python
python图片验证码生成代码
Jul 02 Python
python正则表达式的使用
Jun 12 Python
Python设计模式之外观模式实例详解
Jan 17 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
jupyter notebook清除输出方式
Apr 10 Python
python正则表达式 匹配反斜杠的操作方法
Aug 07 Python
matplotlib教程——强大的python作图工具库
Oct 15 Python
python3爬虫中引用Queue的实例讲解
Nov 24 Python
python实现黄金分割法的示例代码
Apr 28 Python
python flask框架快速入门
May 14 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 #Python
使用Fabric自动化部署Django项目的实现
Sep 27 #Python
Win10+GPU版Pytorch1.1安装的安装步骤
Sep 27 #Python
opencv调整图像亮度对比度的示例代码
Sep 27 #Python
详解Django将秒转换为xx天xx时xx分
Sep 27 #Python
pytorch多GPU并行运算的实现
Sep 27 #Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 #Python
You might like
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
深入理解Python中变量赋值的问题
2017/01/12 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
python批量赋值操作实例
2018/10/22 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
Python中format()格式输出全解
2019/04/12 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
python 绘制场景热力图的示例
2020/09/23 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
综合办公室主任职责
2013/12/16 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
教育见习报告范文
2014/11/03 职场文书
小学庆六一主持词
2015/06/30 职场文书
售房协议书范本
2015/08/11 职场文书
Python合并pdf文件的工具
2021/07/01 Python
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS