Numpy IO

Numpy 可以读写磁盘上的文本数据或二进制数据
npy文件用于存储重建ndarray所需的数据,图形,dtype和其他信息。
常用的IO函数有:

  • load()和save(),默认情况下数组以未压缩的二进制原始格式保存在.npy文件中
  • savez(),用于将多个数组写入文件,默认情况下数组以未压缩的二进制原始格式保存在.npz中
  • loadtxt()和savetxt()处理正常的文本文件(.txt等)

numpy.save()

将数组保存到.npy文件中

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

参数说明:

  • file:数组保存到的文件,拓展名为.npy(若无拓展名会自动加上)
  • arr:保存的数组
  • allow_pickle:可选,布尔值,允许使用 Python pickles 保存对象数组,Python 中的 pickle 用于在保存到磁盘文件或从磁盘文件读取之前,对对象进行序列化和反序列化。
  • fix_imports:可选,为了方便 Pyhton2 中读取 Python3 保存的数据。

示例

>>>a=[1,2,3,4]
>>>np.save("testSave",a)
>>>b=np.load("testSave.npy")
>>>b
array([1, 2, 3, 4])

numpy.savez()

将多个数组保存到.npz文件中
.files属性查看数组的名称

numpy.savez(file, *args, *kwds)

参数说明

  • file:数组保存到的文件,拓展名为.npz(无拓展名会自动加上)
  • args:要保存的数组,可用关键字参数起名,非关键字参数传递的数组会被自动命名为arr_0,arr_1...
  • kwds:被保存数组的关键字名称

示例

>>>a=np.array([[1,2,3],[4,5,6]])
>>>b=np.arange(0,1.0,0.1)
>>>c=np.sin(b)
>>>np.savez("testSavez",a,b,sin_array=c)
>>>r=np.load("testSavez.npz")
>>>r.files
['sin_array', 'arr_0', 'arr_1']
>>>r['arr_0']
array([[1, 2, 3],
       [4, 5, 6]])

numpy.loadtxt()

numpy.savetxt()

posted @ 2020-11-21 19:21  圆圆的圈圈  阅读(140)  评论(0)    收藏  举报