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中用altzone()方法处理时区的教程
May 22 Python
Python实现爬取逐浪小说的方法
Jul 07 Python
Python的for和break循环结构中使用else语句的技巧
May 24 Python
基于数据归一化以及Python实现方式
Jul 11 Python
PyTorch 1.0 正式版已经发布了
Dec 13 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
Python对象的属性访问过程详解
Mar 05 Python
python实现程序重启和系统重启方式
Apr 16 Python
Python如何给函数库增加日志功能
Aug 04 Python
python 爬取吉首大学网站成绩单
Jun 02 Python
Python语言规范之Pylint的详细用法
Jun 24 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
use jscript List Installed Software
2007/06/11 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
基于JQuery的Ajax方法使用详解
2017/08/16 jQuery
js 只比较时间大小的实例
2017/10/26 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
在pycharm中实现删除bookmark
2020/02/14 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
Ibatis如何使用动态表名
2015/07/12 面试题
教师个人剖析材料
2014/02/05 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
后备干部考察材料
2014/02/12 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
贺卡寄语大全
2014/04/11 职场文书
品德评语大全
2014/05/05 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
保护环境倡议书范文
2014/05/13 职场文书
高三励志标语
2014/06/05 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
新学期家长寄语2016
2015/12/03 职场文书
高中体育课教学反思
2016/02/16 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers