我有5个numpy数组a,b,c,d,e所有都定义为:
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
我这样保存这些数组:
np.savez_compressed('tmp/test',a=a,b=b,c=c,d=d,e=e)
这将导致文件test.npz被创建。
但是我在尝试加载数据时遇到了问题(下面的示例在这里):
>>> f=np.load('tmp/test.npz')
>>> f.files
['a', 'c', 'b', 'e', 'd']
>>> f['a']
给出大量的错误,结尾为:
File "C:\Python27\lib\compiler\transformer.py", line 754, in atom_lbrace
return self.com_dictorsetmaker(nodelist[1])
File "C:\Python27\lib\compiler\transformer.py", line 1214, in com_dictorsetmaker
assert nodelist[0] == symbol.dictorsetmaker
AssertionError
我已经考虑使用pickle代替。但是,这导致文件大小是.npz文件的四倍,因此我想使用savez或savez_compressed。
有谁知道我在做什么错,或者有其他方法的建议?
这是一个会产生错误的脚本:
def saver():
import numpy as np
a= np.arange(1,10)
b=a
c=a
d=a
e=a
np.savez_compressed('tmp/test',a=a,b=b,c=c,d=d,e=e)
f=np.load('tmp/test.npz')
print f.files
print f['a']
慕无忌1623718
相关分类