如何从 npy.gz 文件恢复 numpy 数组

2023-11-26

我使用以下代码保存了许多 numpy 对象:

f = gzip.GzipFile('/some/path/file.npy.gz', "w")
np.save(file=f, arr=np.rint(trimmed).astype('int16'))
f.close()

现在我有一堆 npy.gz 文件,但我不知道如何以编程方式将它们返回到 python 中。np.fromtext or np.fromstring似乎不起作用,并且无论如何都不会保留形状信息。

我试过了:

gzipfile = gzip.GzipFile('/some/path/file.npy.gz', 'rb')
text = gzipfile.read() 

And text看起来像这样:

b'\x93NUMPY\x01\x00F\x00{\'descr\': \'<i2\', \'fortran_order\': False, \'shape\': (132, 248, 291), } \n0\xf80\xf80...'

但是接下来我该怎么做才能将该字符串恢复为 numpy 对象呢?


如果它有效的话save to a gzip文件,也可以从其中读取。load是对应于save:

In [193]: import gzip
In [194]: f = gzip.GzipFile('file.npy.gz', "w")
In [195]: np.save(f, np.arange(100))
In [196]: f.close()

In [200]: f = gzip.GzipFile('file.npy.gz', "r")
In [201]: np.load(f)
Out[201]: 
array([ 0,  1,  2,  3,  4,  .... 98, 99])

还有一个savez(compressed)将多个数组保存到一个zip档案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 npy.gz 文件恢复 numpy 数组 的相关文章

随机推荐