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实现根据主机名字获得所有ip地址的方法
Jun 28 Python
Centos Python2 升级到Python3的简单实现
Jun 21 Python
python常用函数详解
Sep 13 Python
python生成式的send()方法(详解)
May 08 Python
解决DataFrame排序sort的问题
Jun 07 Python
python实现自主查询实时天气
Jun 22 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
python读取和保存图片5种方法对比
Sep 12 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
Python读取excel文件中带公式的值的实现
Apr 17 Python
Scrapy实现模拟登录的示例代码
Feb 21 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
也谈截取首页新闻 - 范例
2006/10/09 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
php数组去除空值函数分享
2015/02/02 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
python批量提取word内信息
2015/08/09 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
历史学专业推荐信
2013/11/06 职场文书
考核工作实施方案
2014/03/30 职场文书
《花木兰》教学反思
2014/04/09 职场文书
医学求职自荐信
2014/06/21 职场文书
经营场所使用证明
2015/06/19 职场文书
村主任当选感言
2015/08/01 职场文书