NumPy IO

Numpy 可以读写磁盘上的文本数据或二进制数据。

NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。

npy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。

常用的IO函数有:

  • load()和save()函数是读写文件数组数据的两个主要函数,默认情况下,数组是未压缩的原始二进制格式保存在扩展名为 .npy 的文件中。
  • savez()函数用于将多个数组写入文件,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npz 的文件中。
  • loadtxt() 和 savetxt() 函数处理正常的文本文件(.txt 等)
numpy.save()
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
# file:要保存的文件,扩展名为 .npy,如果文件路径末尾没有扩展名 .npy,该扩展名会被自动加上
# arr: 要保存的数组
# allow_pickle: 可选,布尔值,允许使用 Python pickles 保存对象数组,Python 中的 pickle 用于在保存到磁盘文件或从磁盘文件读取之前,对对象进行序列化和反序列化
# fix_imports: 可选,为了方便 Pyhton2 中读取 Python3 保存的数据
import numpy as npa = np.array([1,2,3,4,5])# 保存到outfile.npy文件上
np.save('outfile.npy',a)# 保存到 outfile2.npy 文件上,如果文件路径末尾没有扩展名 .npy,该扩展名会被自动加上
np.save('outfile2',a)
import numpy as npb = np.load('outfile.npy')
print(b)
[1 2 3 4 5]
numpy.savez()
numpy.savez(file, *args, **kwds)
# file:要保存的文件,扩展名为 .npz,如果文件路径末尾没有扩展名 .npz,该扩展名会被自动加上
# args: 要保存的数组,可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为 arr_0, arr_1, …
# kwds: 要保存的数组使用关键字名称
import numpy as np a = np.array([[1,2,3],[4,5,6]])
b = np.arange(0, 1.0, 0.1)
c = np.sin(b)
# c 使用了关键字参数 sin_array
np.savez("runoob.npz", a, b, sin_array = c)
r = np.load("runoob.npz")
print(r.files) # 查看各个数组名称
print(r["arr_0"]) # 数组 a
print(r["arr_1"]) # 数组 b
print(r["sin_array"]) # 数组 c
['sin_array', 'arr_0', 'arr_1']
[[1 2 3][4 5 6]]
[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
[0.         0.09983342 0.19866933 0.29552021 0.38941834 0.479425540.56464247 0.64421769 0.71735609 0.78332691]
savetxt()

savetxt() 函数是以简单的文本文件格式存储数据,对应的使用 loadtxt() 函数来获取数据

np.loadtxt(FILENAME, dtyoe = int, delimiter = ' ')
np.savetxt(FILENAME, a, fmt = "%d", delimiter = ",")
# 参数delimiter可以指定各种分隔符、针对特定列的转换器函数、需要跳过的行数等。
import numpy as np a = np.array([1,2,3,4,5])
np.savetxt('out.txt',a)
b = np.loadtxt('out.txt')  print(b)
[1. 2. 3. 4. 5.]
# 使用delimiter参数
import numpy as np a=np.arange(0,10,0.5).reshape(4,-1)
np.savetxt("out.txt",a,fmt="%d",delimiter=",") # 改为保存为整数,以逗号分隔
b = np.loadtxt("out.txt",delimiter=",") # load 时也要指定为逗号分隔
print(b)
[[0. 0. 1. 1. 2.][2. 3. 3. 4. 4.][5. 5. 6. 6. 7.][7. 8. 8. 9. 9.]]

学习参考:

  • 菜鸟教程:https://www.runoob.com/numpy/numpy-tutorial.html

NumPy学习笔记21. IO相关推荐

  1. Numpy学习笔记(下篇)

    目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...

  2. numpy 学习笔记

    numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...

  3. 【Numpy学习笔记】

    Numpy学习笔记 1. NumPy的详细教程(官网手册翻译) https://blog.csdn.net/xiaoxiangzi222/article/details/53084336 2. 学习笔 ...

  4. NumPy学习笔记 一

    NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  5. numpy学习笔记:np.zeros应用——生成三通道全黑Mask(蒙版)

    numpy学习笔记:np.zeros应用--生成三通道全黑Mask(蒙板) np.zeros官方文档:np.zeros官方文档 下面是一段生成256*256三通道全黑mask的demo import ...

  6. NumPy学习笔记前言

    前言目录 NumPy学习笔记前言 NumPy简介 NumPy学习准备 NumPy中文网 NumPy学习笔记前言 这里主要分享一下我个人学习NumPy的笔记,希望大家多多交流学习,这也是我第一次写CSD ...

  7. 区块链学习笔记21——ETH智能合约

    区块链学习笔记21--ETH智能合约 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 智能合约简介 ...

  8. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  9. 影像组学视频学习笔记(21)-影像组学常用软件推荐、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(21)主要介绍: 压箱底的好用软件推荐 [注]:李博士主要从事脑神经领域的研究,所以部分软件具有专业性. dicom到nifti的格式转 ...

  10. opencv学习笔记21:直方图和掩膜 原理及其应用

    直方图概念 如图:下面黑色图为上面图的直方图 横坐标:图像中各个像素点的灰度级 纵坐标:具有该灰度级的像素个数. 归一化直方图 横坐标:图像中各个像素点的灰度级 纵坐标:出现该灰度级的概率. DIMS ...

最新文章

  1. linux 查看 定时任务 crontab 日志记录
  2. 显示在一行_使用基于Swift的一行代码自动显示Log,Network,CPU,RAM,FPS等
  3. (转)几种常用存储过程分页方法
  4. 札记__ADT:URL,Lua:strlen方法
  5. java 树状数据算法_使用递归算法结合数据库解析成Java树形结构的代码解析
  6. linux ntp连接失败,linux ntp服务器连接异常
  7. MSTP:多生成树实例——应用案列及配置命令(实验)
  8. GDC2017分享:移动VR开发者的赚钱之道
  9. USB 3.0存储产品CeBIT集中展示
  10. java指的是什么_java什么是实例意思指的是
  11. 2020-2-6 蓝桥杯阶段模拟总结
  12. linux 局域网传文件,利用ssh在linux系统之间在局域网内传输文件
  13. 以太网服务器怎么改成无线网,win10 以太网显示无线wifi名称怎么改
  14. 【go】ssa和调用链分析
  15. oracle授权同义词权限,Oracle授权 同义词
  16. 100万美金VS100美金FBI本可以在iPhone 5c解锁案中省下一大笔钱
  17. POJ-2502 Subway( 最短路 )
  18. 营销人员是怎么使用MindManager思维导图的?
  19. 使用KlipC避开平台扫止损,控制止盈和延迟订单成交
  20. Android Studio开发环境

热门文章

  1. Excel如何用IF函数进行数据筛选
  2. stm32显示flash下载失败_Flash download failed-Cortex-M3的原因及解决办法
  3. Excel如何锁定首列,教程来啦!怎样将excel的列锁定冻结
  4. 【供应链架构day7】美团供应链的架构之道:O2O关键战场在供给端
  5. java怎么画八卦图_八卦图怎么画 最正确的八卦图
  6. Gtk-Message: 14:47:21.541: Failed to load module “canberra-gtk-module“ 的处理方法
  7. word文档保护密码忘 了,怎么取消格式和编辑保护
  8. 软件开发外包平台有哪些?收集的一些备用
  9. libcurl之curl_easy_getinfo的使用教程
  10. 什么是类?什么是对象?类与对象之间是什么关系?类的特性有哪些?