python利用numpy存取文件

代码 代码 1272 人阅读 | 0 人回复

<
     NumPy供给了多种存与数组内乱容的文件操纵函数。保存数组数据的文件能够是两进造格局大概文本格局。两进造格局的文件又分为NumPy公用的格局化两进造规范战无格局规范。
 
numpy格局的文件能够保存为后缀为(.npy/.npz)格局的文件
1. tofile()战fromfile()


  • tofile()将数组中的数据以两进造格局写进文件
  • tofile()输出的数据没有保存数组外形战元素规范等疑息
  • fromfile()函数读回数据时需求用户指定元素规范,并对数组的外形举办恰当的修正
  1. import numpy as np
  2. # 随机天生12个数字并将其有一维转换成3*4的矩阵情势
  3. a = np.arange(12)
  4. print("一维数组:",a)
  5. a.shape = 3,4
  6. print("3*4的矩阵:",a)
  7. # 将数组中的数据以两进造格局写进到文件
  8. a.tofile(&#39;a.bin&#39;)
  9. # fromfile正在读与numpy文件时需求本人指定命据格局,而且本格局并为保留
  10. b1 = np.fromfile(&#39;a.bin&#39;, dtype=np.float) # 根据float读与数据
  11. b2 = np.fromfile(&#39;a.bin&#39;, dtype=np.int) # 根据int读与数据
  12. b3 = np.fromfile(&#39;a.bin&#39;, dtype=np.int32) # 根据int32读与数据
  13. print(&#39;float格局b1:{},\nint格局b2:{},\nint32格局b3:{}&#39;.format(b1,b2,b3))
  14. b3.shape = 3,4
  15. print(&#39;b3:&#39;,b3)
复造代码
135508qvpjzpqj5pkzg5pe.jpg

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


  • NumPy公用的两进造格局保存数据,它们会主动处置元素规范战外形等疑息
  • 假如念将多个数组保存到一个文件中,可使用savez()
  • savez()的第一个参数是文件名,厥后的参数皆是需求保存的数组,也能够利用枢纽字参数为数组起名
  • 非枢纽字参数通报的数组会主动起名为arr_0、arr_1、...。
  • savez()输出的是一个扩大名为npz的紧缩文件,此中每一个文件皆是一个save()保存的npy文件,文件名战数组名不异
  • load()主动辨认npz文件,而且返回一个相似于字典的工具,能够经由过程数组名做为键获得数组的内乱容
  1. import numpy as np
  2. a = np.arange(12)
  3. a.shape = 3,4
  4. # 将数据存储为npy/npz
  5. np.save(&#39;a.npy&#39;, a)
  6. np.save(&#39;a.npz&#39;, a)
  7. c = np.load(&#39;a.npy&#39;)
  8. print(&#39;save-load:&#39;,c)
  9. # 存储多个数组
  10. b1 = np.array([[6, 66, 666],[888, 88,8]])
  11. b2 = np.arange(0, 1.0, 0.1)
  12. c2 = np.sin(b2)
  13. np.savez(&#39;result.npz&#39;, b1,b2,sin_arry = c)
  14. c3 = np.load(&#39;result.npz&#39;) # npz文件时一个紧缩文件
  15. print(c3)
  16. print("数组b1:{}\n数组b2:{}\n数组sin_arry:{}".format(c3[&#39;arr_0&#39;],c3[&#39;arr_1&#39;],c3[&#39;sin_arry&#39;]))
复造代码
 
135509ggv3nzkr5s35v6xl.jpg

 
3. savetxt() 战 loadtxt()


  • 读写1维战2维数组的文本文件
  • 能够用它们读写CSV格局的文本文件
 
用这类方法去对数据举办存储,便利深度进修中, 保存了锻炼散,考证散,测试散,借包含他们的标签,用那个方法存储起去,要啥减载啥,文件数目年夜年夜削减,也没有会四处改文件名。算是get到了别的一种好的存储数据的方法
 
参考:https://www.cnblogs.com/wushaogui/p/9142019.html
https://www.cnblogs.com/dmir/p/5009075.html
 
各人能够存眷我战我小同伴的公家号~~~那里有我战我的小同伴没有按时的更新一些python手艺材料哦!!各人也能够留行,会商一下手艺成绩,期望各人多多撑持,存眷一下啦,感谢各人啦~~
135509f4hhsthmrxh4cxtp.jpg

​​​​​​​

免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则