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:{},int格式b2:{},int32格式b3:{}'.format(b1,b2,b3))

b3.shape = 3,4

print('b3:',b3)

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:{}数组b2:{}数组sin_arry:{}".format(c3['arr_0'],c3['arr_1'],c3['sin_arry']))

3. savetxt() 和 loadtxt()

读写1维和2维数组的文本文件

可以用它们读写CSV格式的文本文件

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

.npy文件_python如何利用numpy存取文件相关推荐

  1. python利用numpy存取文件

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

  2. python flask上传文件_Python之利用Flask上传文件、Flask_RESTful

    Flask上传文件 回顾知识点form表单中,一旦涉及到上传文件就要就必须要有enctype属性,而且必须等于multipart/form-data.而且提交方式为'post',method = 'p ...

  3. python保存数据到本地文件_python保存数据到本地文件的方法

    python保存数据到本地文件的方法 1.保存列表为.txt文件 #1/list写入txt ipTable = ['158.59.194.213', '18.9.14.13', '58.59.14.2 ...

  4. add多个文件 git 文件夹_利用 git 提取文件夹下多个特定文件里的内容写到特定文件内...

    有些时候我们需要将一个或多个文件夹内的特定文件里的内容读写到指定的文件内,如果是一个一个文件复制速度太慢,这时我们可以利用git来操作. 首先打开我们需要读取的文件的上级文件夹,在空白处右击选择[Gi ...

  5. python pandas 处理相同标题的csv文件_Python使用pandas处理CSV文件的实例讲解

    Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大. CSV(Comma-Separated Values)格式的文件是指 ...

  6. python导入mat文件_python读取并写入mat文件的方法

    先给大家介绍下python读取并写入mat文件的方法 用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); sav ...

  7. 用python的pandas打开csv文件_python读写数据读写csv文件(pandas用法)

    python中数据处理是比较方便的,经常用的就是读写文件,提取数据等,本博客主要介绍其中的一些用法.Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用 ...

  8. AndroidStudio中利用openFileOutput将数据保存在文件中,利用openFileInput读取文件中的数据

    一.要实现的功能 将输入框中的数据保存到指定文件名的文件中,实现数据的持久化:如果数据已经保存了,活动下次再启动的时候,就将保存在文件中的数据读取出来,显示在输入框中. 二.基本知识 利用活动生命周期 ...

  9. 如何用python创建文件_python在指定目录创建文件

    Python无法创建文件夹,如何制定创建目录?温柔也好,凶狠也罢.想有一个陌生的自己,给自己一些惊喜. /主目录/桌面/gnssIR_python-master:/usr/local/bin:/usr ...

最新文章

  1. 编程题:顺时针打印矩阵(不一定是方阵)
  2. String内容不能改变的理解 String的值不能修改的理解
  3. python学习笔记(四)字典(dict)
  4. C语言模拟实现标准库函数之strchr()
  5. python 如何匹配一撇字符_python,yaml如何解析包含撇号的字符串
  6. java 关键字是运算符_Java的super关键字与instanceof运算符使用方法
  7. (算法)最长回文子串
  8. c mysql日期时间格式_[单选] 妊娠期血液成分发生改变,下述哪项是正确的()...
  9. 回车,根据编码获取相应记录,然后再将这录绑定到AutoList
  10. Win11正式版版号 Win11正式版最新版本号介绍
  11. 计算机中用于描述音乐乐曲并,计算机中用于描述音乐乐曲并由声卡合成出音乐来的语言(规范)为。...
  12. MysQL读写分离服务器--maxscale服务
  13. 生物化学,材料化学必备!元素周期表
  14. 计算机端口连接失败,电脑telnet端口(23端口)提示连接失败怎么办?
  15. 【197期】华为OD两轮技术面试记录,给后来人一个参考!
  16. 故事系列之一:围棋世界里看天赋和勤奋
  17. Android--kotlin基础(三)
  18. python批量发送工资条邮件
  19. yolo调用海康威视网络摄像头踩坑记
  20. php 前端超出字数,标题字数超出范围截断处理方案比较

热门文章

  1. jieba分词流程及部分源码解读(一)
  2. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
  3. 合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表
  4. Docker基本原理概述
  5. CUDA统一内存分析
  6. Usb-type-C端口实现的挑战与设计方案
  7. AlexeyAB DarkNet YOLOv3框架解析与应用实践(四)
  8. MySQL开启远程连接权限
  9. 【嵌入式】从STM32F103ZET6移植到STM32F103RCT6的流程
  10. Ubuntu 查看隐藏的文件