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)

  1. 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’]))

  1. savetxt() 和 loadtxt()

读写1维和2维数组的文本文件
可以用它们读写CSV格式的文本文件

用这种方式来对数据进行存储,方便深度学习中, 保存了训练集,验证集,测试集,还包括他们的标签,用这个方式存储起来,要啥加载啥,文件数量大大减少,也不会到处改文件名。算是get到了另外一种好的存储数据的方式

参考:https://www.cnblogs.com/wushaogui/p/9142019.html

https://www.cnblogs.com/dmir/p/5009075.html

大家可以关注我和我小伙伴的公众号~这里有我和我的小伙伴不定时的更新一些python技术资料哦!!大家也可以留言,讨论一下技术问题,希望大家多多支持,关注一下啦,谢谢大家啦

python利用numpy存取文件相关推荐

  1. .npy文件_python如何利用numpy存取文件

    NumPy提供了多种存取数组内容的文件操作函数.保存数组数据的文件可以是二进制格式或者文本格式.二进制格式的文件又分为NumPy专用的格式化二进制类型和无格式类型. numpy格式的文件可以保存为后缀 ...

  2. python 利用多进程实现文件的拷贝

    python 利用多进程实现文件的拷贝 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37338590/article/details/784 ...

  3. python利用pyside2创建文件夹选择框,文件选择框(无小窗口)

    python利用pyside2创建文件夹选择框,文件选择框(无小窗口) 文件夹选择框 文件选择框 文件多选框 之前利用win32ui创建文件选择窗口非常好用,但是想使用文件夹选择窗口发现行不通.利用t ...

  4. python利用numpy模块读取csv文件

    文章目录 numpy.loadtxt()方法 简单读取 字符串处理-str参数 跳过首行 - skiprow = 1 读取特定列 - usecols参数 numpy切片 更多读取方法 numpy.lo ...

  5. python 利用win32 打印文件

    python调用win32api 查看打印机信息: import win32print printers=win32print.EnumPrinters(2) #关于EnumPrinters中的一些参 ...

  6. python 利用numpy进行数据分析

    一.numpy.loadtxt读取数据 data=numpy.loadtxt('数据路径.txt',delimiter=',',usecols=(0,1,2,3) , dtype=float)#读取后 ...

  7. python利用numpy创建数组(等比,等差,空数组,1数组)

    从菜鸟教程复制过来的, 转载地址:https://www.runoob.com/numpy/numpy-array-creation.html 1.创建未初始化的narray数组 格式如下: nump ...

  8. python利用pyinstaller打包文件

    首先在命令行下载pyinstaller包 pip install pyinstaller 下载完成以后对应工程进行打包即可,步骤如下 1.想要对哪个工程打包,右键如图所示进行操作. 2.在命令框中输入 ...

  9. python利用numpy将list转换为array

    将list转换成数组. 由于list中可以存放不同类型的元素,因此在转换成数组时,为了保证转换不出错,要检查类型是否一致,有数字且有字符的list转成array时会变成字符数组. import num ...

最新文章

  1. 5、this调用语句必须是构造函数中的第一个可执行语句_Java 构造函数
  2. java trie实现
  3. Kali Linux 无线渗透测试入门指南 第四章 WLAN 加密缺陷
  4. 数据库复习总结(4)-数据库的分离、附加、脚本的创建
  5. python怎么读取csv文件-使用Python读写csv文件的三种方法
  6. 算法学习_简单递归算法
  7. Windows Server 2003群集配置手记(转载)
  8. 《linux核心应用命令速查》连载四:at:定时运行命令
  9. teamviewer开通防火墙策略
  10. Oracle实例解析:编码与字符集
  11. spring-boot集成elastic-job 并实现http类型作业
  12. Instant Run(App加壳)
  13. VS Code、IDEA开发工具及插件
  14. 加盟 XEIM 开源即时通讯软件团队
  15. 清华大学鲍橒计算机1999,《最强大脑》鲍橒:世界盲棋第一人的最强记忆
  16. gnuplot下载及基本使用
  17. 高德地图实现卫星图-区域掩模3D
  18. JAVA课程设计个人博客 学生成绩管理 201521123014 黄绍桦
  19. Android App Dark Theme(暗黑模式)适配指南
  20. linux添加防护墙规则rc.local,Linux环境下iptables防火墙基本用法演示

热门文章

  1. WORD如何插入域编号?
  2. mongodb更新操作符
  3. 利用pandas对一列/多列进行数据区间筛选
  4. python3 在线加密_Python3对称加密算法AES、DES3实例详解
  5. jdk8 接口新特性
  6. 服务器改win7 性能,性能大改善,微软Win10版本1909即将推出,网友为何坚持win7?...
  7. knife4j导出html有误,knife4j无法生成完整的响应说明
  8. 4_python基础—判断(if)语句
  9. wxpython中文手册 官方版_wxPython API参考手册.chm
  10. android 应用区高度,Android创建显示区高度可以调整的ScrollView