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字符串编码识别模块chardet简单应用
Jun 15 Python
详解Python字符串对象的实现
Dec 24 Python
Python实现包含min函数的栈
Apr 29 Python
python与php实现分割文件代码
Mar 06 Python
python实时分析日志的一个小脚本分享
May 07 Python
用python实现百度翻译的示例代码
Mar 09 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 Python
对pandas处理json数据的方法详解
Feb 08 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
Python数据可视化:饼状图的实例讲解
Dec 07 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性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
php实现三级级联下拉框
2016/04/17 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
Ajax+Jpgraph实现的动态折线图功能示例
2019/02/11 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
javascript getElementsByClassName实现代码
2010/10/11 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
vue实现带复选框的树形菜单
2019/05/27 Javascript
Python比较两个图片相似度的方法
2015/03/13 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
python中封包建立过程实例
2021/02/18 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
音乐教学案例
2014/01/30 职场文书
简易离婚协议书范本
2014/10/24 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL