NumPy IO操作

 
NumPy  IO 操作是以文件的形式从磁盘中加载 ndarray 对象。在这个过程中,NumPy 可以两种文件类型处理 ndarray 对象,一类是二进制文件(以.npy结尾),另一类是普通文本文件。

上述两种文件格式,分别对应着不同的 IO 方法,如下所示:

NumPy IO操作方法
文件类型 处理方法
二进制文件 load() 和 save()
普通文本文件 loadtxt() 和 savetxt()

我们知道,文件会被保存在不同的计算机上(比如 Linux、Windows、MacOSX 等)。为了不受的计算机架构影响,NumPy 开发团队给 ndarray 对象引入了一种.npy文件格式,通过它来件实现对 ndarray 对象的保存。

numpy.save()

numpy.save() 方法将输入数组存储在.npy文件中。

numpy.save(file, arr, allow_pickle=True, fix_imports=True)

参数说明:
  • file:保存后的文件名称,其文件类型为.npy
  • arr:要保存的数组
  • allow_pickle:可选项,布尔值参数,允许使用 pickle 序列化保存数组对象。 
  • fix_imports:可选项,为了便于在 Pyhton2 版本中读取 Python3 保存的数据。

示例如下:
import numpy as np
a = np.array([1,2,3,4,5])
np.save('first',a)
使用 load() 从 first.npy 文件中加载数据,如下所示:
import numpy as np
b = np.load('outfile.npy')
print( b) 
输出结果如下:

[1, 2, 3, 4, 5]

savetxt()

savetxt() 和 loadtxt() 分别表示以文本格式存储数据或加载数据。其中 savetxt() 的语法格式如下:

np.savetxt('filename文件路径', self.task, fmt="%d", delimiter=" ")

参数说明:
  • filename:表示保存文件的路径;
  • self.task: 要保存数组的变量名;
  • fmt="%d": 指定保存文件的格式,默认是十进制;
  • delimiter=" "表示分隔符,默认以空格的形式隔开。

示例如下:
import numpy as np
a = np.array([1,2,3,4,5])
np.savetxt('second.txt',a)
#使用loadtxt重载数据
b = np.loadtxt('second.txt')
print(b) 
输出结果:

[ 1.  2.  3.  4.  5.]