将数组以二进制格式保存

数组可以以未压缩的原始二进制格式保存在扩展名为.npy的文件中的,npy文件中会在第一行保存数组的相关信息

npz是一个可以保存多个数组的归档文件,该文件可以是未压缩的,也可以是压缩的。解压npz文件可以发现多个数组对应的npy文件。

当使用load方法去打开npz文件时,会返回一个类似字典的对象,可以用访问字典键值的方式去访问数组。

>>>#将数组保存在x.npy文件中
>>> np.save('x.npy',np.arange(4))
>>> np.load('x.npy')
array([0, 1, 2, 3])
>>>#---------------------------------------------
>>>#将多个数组保存在npz文件中
>>> np.savez('ab.npz',a=x1,b=x2)
>>>#加载npz文件,返回一个类似字典的对象
>>> arch=np.load('ab.npz')
>>> arch['a']
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
>>> arch['b']
array([0, 1, 2])
a = np.arange(100000).reshape(1000, 100)
a[10: 300] = 0
b = np.arange(100000).reshape(1000, 100)np.save('a.npy', a)  # 文件大小:391KB
np.save('b.npy', b)  # 文件大小:391KB
# 保存到不压缩的npz文件
np.savez('ab_uncompressed.npz', a=a, b=b)  # 文件大小:782KB
# 保存到压缩的npz文件
np.savez_compressed('ab_compressed.npz', a=a, b=b)  # 文件大小:232KB

存取文本文件(一维或者二维的数组)

np.savetxt(frame,array,fmt='%.18e',delimiter=None)

frame:文件名

array:写入文件的数组

fmt:写入文件的格式,比如%d,%.2f

delimter:分隔符

np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)

frame:文件名

dtype:数据类型

delimter:分隔符

unpack:读入属性写入不同变量

data.csv

1 2 3 4
5 6 7 8
5 6 7 10

a.csv

0 1 2 3
4 5 6 7
8 9 10 11
>>>#加载data.csv
>>> np.loadtxt('data.csv',delimiter=',')
array([[  1.,   2.,   3.,   4.],[  5.,   6.,   7.,   8.],[  5.,   6.,   7.,  10.]])
>>>#读到csv文件中
>>> a=np.arange(12).reshape(3,4)
>>> a
array([[ 0,  1,  2,  3],[ 4,  5,  6,  7],[ 8,  9, 10, 11]])
>>> np.savetxt('a.csv',a,fmt='%d',delimiter=',')

存取二维以上的数组

写入数组:

使用该方法会丢失数组的维度信息,若要保存数组的信息,需要用npy文件

a.tofile(frame,sep='',format='%s')

a:数组

frame:文件

sep:分隔符,如果是空串,则写入文件形式为二进制

format:写入文件格式

>>> a=np.arange(100).reshape(5,10,2)
>>>#将数组a写入a.txt,分隔符隔开,不会用换行体现维度
>>> a.tofile('a.txt',sep=',')
>>>#将数组以二进制形式存入b,txt
>>> a.tofile('b.txt')

a.txt:

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,

31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,

58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,

85,86,87,88,89,90,91,92,93,94,95,96,97,98,99

b.txt:

!   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?   @   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _   `   a   b   c

读取解析数组:

np.fromfile(frame,dtype=float,count=-1,sep='')

frame:文件

dtype:读取的数据类型

count:读入元素的个数,-1表示全部

sep:分隔符,如果是空串,则表示二进制形式

>>>#读取矩阵a
>>> np.fromfile('a.txt',dtype=np.int,sep=',')
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99])
>>> np.fromfile('a.txt',dtype=np.int,sep=',').reshape(5,10,2)
>>>#读取二进制形式的矩阵a
>>> np.fromfile('b.txt',dtype=np.int)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99])

python numpy库数组的存取相关推荐

  1. python numpy库安装-Python Numpy库安装与基本操作示例

    本文实例讲述了Python Numpy库安装与基本操作.分享给大家供大家参考,具体如下: 概述 NumPy(Numeric Python)扩展包提供了数组功能,以及对数据进行快速处理的函数. NumP ...

  2. 如何查看numpy库数组的:类型、数据类型、尺寸、形状、维度? (type、dtype、size、shape、ndim)

    import numpy as np a1 = np.array([1,2,3,4],dtype=np.complex128) print("a1:",a1) print(&quo ...

  3. python numpy库 一些统计量计算

    import numpy as np # a = np.array([[3,7,5],[8,4,3],[2,4,9]]) # print ('我们的数组是:') # print (a) # print ...

  4. python numpy库是第三方库吗_浅谈python的第三方库——numpy(终)

    本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士 1 手动转换矩阵规格 转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目.比如,在得到一个5x4的矩 ...

  5. python numpy库_numpy库学习总结(基础知识)

    最近在学习Python中OpenCV库,学习花了很多时间,发现基础知识很重要,尤其是numpy这个库,在进行程序开发时,处理大量类似数组这种数据结构时,它的重要性等同于Python中的列表,像前篇我们 ...

  6. Python Numpy库教程

    目录 1 Numpy概述 1.1 概念 1.2 功能 1.3 对象 1.4 数据类型 1.5 数组属性 2 Numpy数组操作 2.1 Numpy创建 2.1.1 利用列表生成数组 2.1.2 利用r ...

  7. Python Numpy库教程(超详细)

    1 Numpy概述 1.1 概念 Python本身含有列表和数组,但对于大数据来说,这些结构是有很多不足的.由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.对于数值运算来说这种 结构比较 ...

  8. python numpy库

    文章目录 NumPy( Numeric Python) numpy的引用 Ndarray 引入n维数组的意义 ndarray的组成 ndarray对象的属性 数据类型 ndarray支持多种数据类型的 ...

  9. Python -- Numpy库的使用

    Numpy库的使用   要点:numpy是用于处理含有同种元素的多维数组运算的第三方库. 1.numpy库概述   Python标准库中提供了一个array类型,用于保存数组类型数据,然而这个类型不支 ...

  10. Python - Numpy库的使用(简单易懂)

    目录 numpy多维数组--数组的创建 1.array函数创建数组对象 2.通过arange.linspace函数创建等差数组对象 3.通过logspace函数创建等比数列数组 函数 zeros on ...

最新文章

  1. bzoj3600 没有人的算术
  2. Pivotal发布Spring Cloud Data Flow 1.5版本
  3. RabbitMQ延迟消费和重复消费
  4. 联通5g接入点设置参数_联通5G 所向无前
  5. cmd命令不识别exp_cmd 命令行exp 命令导出数据库文件
  6. java 可以直接当自定义标示符_JAVA 从头开始二
  7. Transformers资料汇总,从概要到原理到应用
  8. BERT中CLS效果真的好嘛?这篇文章告诉你答案
  9. FileInputStreamFileOutputStream 和 BufferedInputStreamBufferedOutputStrem的性能测试小案例
  10. css下标怎么打,css如何显示文字的上标和下标
  11. 几个ts的接口练习题
  12. 小程序模板消息推送报错 “errcode“:40165,“errmsg“:“invalid weapp
  13. mysql的LRU队列详解
  14. 创维YS代工E900V21E/TY1608-S905l3B-8822CS及7668无线通刷线刷包
  15. dell主板40针开机针脚_戴尔主板的前置面板接口针脚
  16. OLED屏显传感器数据显示到OLED上
  17. c#创建画布_c# GDI+简单绘图(四) 简易画板功能
  18. 浅谈设计模式之单例模式
  19. Patch2Pix(CVPR 2021)特征点检测与匹配论文精读笔记
  20. 细菌繁殖——C++实现

热门文章

  1. 公开我的开源项目newland.js
  2. 基金会总线协议分析(FF协议)
  3. python图像色彩分析_Python——图像手绘效果
  4. 计算机图片文档怎么着,【电脑知识】怎样将图片转换成word文档
  5. python哪里下载-python从哪下载
  6. 大数据的应用领域有哪些
  7. 解密PDF---不支持双面打印打印机-------->双面打印操作
  8. torch.nn.Module.named_parameters(prefix=‘‘, recurse=True)
  9. 十大热门编程语言:不死 Java、不朽 C/C ++、新贵 Python
  10. Oracle JDK商用费用分析