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函数式编程指南(三):迭代器详解
Jun 24 Python
python文件与目录操作实例详解
Feb 22 Python
Python变量和字符串详解
Apr 29 Python
深入浅析python with语句简介
Apr 11 Python
transform python环境快速配置方法
Sep 27 Python
Python中staticmethod和classmethod的作用与区别
Oct 11 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
matplotlib 对坐标的控制,加图例注释的操作
Apr 17 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
Jan 12 Python
python函数的两种嵌套方法使用
Apr 02 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显示MySQL数据的三种方法
2008/06/05 PHP
迅速确定php多维数组的深度的方法
2014/01/07 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
Bootstrap每天必学之级联下拉菜单
2016/03/27 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
python实现百度关键词排名查询
2014/03/30 Python
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
python调用c++传递数组的实例
2019/02/13 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
英国网上花店:Bunches
2016/11/29 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
教育学专业实习生的自我鉴定
2013/11/26 职场文书
护士演讲稿范文
2014/01/05 职场文书
市场安全管理制度
2014/01/26 职场文书
大专生自我评价
2014/01/28 职场文书
学雷锋演讲稿
2014/03/04 职场文书
公司捐款倡议书
2014/05/14 职场文书
微电影大赛策划方案
2014/06/05 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书