欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Numpy数组的保存与读取

程序员文章站 2022-05-18 19:16:39
...

二进制格式保存:

代码:

	np.save("filename.npy",a)  #保存文件
	b = np.load("filename.npy") #读取文件

解释:

np.save和np.load是narray保存与读取的两个主要函数。默认情况下,数组以未压缩的原始二进制格式保存在扩展名为npy的文件中,利用这种方法,保存文件的后缀名字一定会被置为.npy

文本格式保存:

代码:

np.savetxt("filename.txt",a, delimiter=','))  #保存文件
b =  numpy.loadtxt("filename.txt", delimiter=',')  #读取文件

解释:

使用 np.savetxt 和 np.loadtxt 只能操作1 维和 2 维的数组 np.savetxt:将数组写入以某种分隔符隔开的文本文件中 np.loadtxt:指定某种分隔符,将文本文件读入到数组中

函数原型:

numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)
参数:
  • fname:文件名或文件句柄
  • X:一维或二位数组
  • delimiter:分隔列的字符串或字符
numpy.loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes')

参数:

  • fname:文件名或文件句柄
  • delimiter:分隔列的字符串或字符

多个数组的保存:

代码:

import numpy as np
test_array = np.random.rand(3, 2)
test_vector = np.random.rand(4)
np.savez_compressed('./Temp/test1.npz', a=test_array, b=test_vector)
#产生一个压缩文件test1.npz中间包含两个数据文件a.npy,b.npy
loaded = np.load('./Temp/test1.npz') #返回一个字典形式
print(np.array_equal(test_array, loaded['a']))#True
print(np.array_equal(test_vector, loaded['b']))#True