Numpy数组的保存与加载

Posted Xavier Jiezou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Numpy数组的保存与加载相关的知识,希望对你有一定的参考价值。


单个数组⇔二进制文件

保存:numpy.save(file, arr)
加载:numpy.load(file)

将数组保存为二进制文件。推荐文件后缀.npy

>>> import numpy as np
>>> with open('test.npy', 'wb') as f:  
...     np.save(f, np.array([1, 2, 3]))
>>> with open('test.npy', 'rb') as f:  
...     a = np.load(f)
>>> a
array([1, 2, 3])

单个数组⇔文本文件(TXT)

保存:numpy.savetxt(fname, X)
加载:numpy.genfromtxt(fname)

单个数组保存为文本(txt)文件。可以直观地看到保存的数组。

>>> import numpy as np
>>> np.savetxt('test.txt', np.array([1, 2, 3]))
>>> a = np.genfromtxt('test.txt')
>>> a
array([1., 2., 3.])

多个数组⇔二进制文件(未压缩)

保存:numpy.savez(file)
加载:numpy.load(file)

多个数组键值对的方式保存为二进制文件。推荐文件后缀.npz

>>> import numpy as np
>>> a = np.array([1])
>>> b = np.array([2])
>>> c = np.array([3])
>>> with open('test.npz', 'wb') as f:
...     np.savez(f, a=a, b=b, c=c)
>>> with open('test.npz', 'rb') as f:
...     a = np.load(f)['a']
...     b = np.load(f)['b']
...     c = np.load(f)['c']
>>> a
array([1])
>>> b
array([2])
>>> c
array([3])

多个数组⇔二进制文件(压缩)

保存:numpy.savez_compressed(file)
加载:numpy.load(file)

多个数组键值对的方式保存为二进制压缩文件(使用的压缩算法是ZIP_DEFLATED)。推荐文件后缀.npz

>>> import numpy as np
>>> a = np.array([1])
>>> b = np.array([2])
>>> c = np.array([3])
>>> with open('test.npz', 'wb') as f:
...     np.savez_compressed(f, a=a, b=b, c=c)
>>> with open('test.npz', 'rb') as f:
...     a = np.load(f)['a']
...     b = np.load(f)['b']
...     c = np.load(f)['c']
>>> a
array([1])
>>> b
array([2])
>>> c
array([3])

以上是关于Numpy数组的保存与加载的主要内容,如果未能解决你的问题,请参考以下文章

numpy数组最快的保存和加载选项

numpy 保存/加载损坏数组

从压缩字节加载 numpy 数组

在追加模式下加载使用 numpy.save 保存的数组

Python Numpy - 无法正确保存/加载数组

从使用 numpy.save(...) 保存的文件中将 numpy 数组加载到 C 中