numpy.savez() will save a dictionary of arrays out to a .zip file.
Each key/value pair will map to a file in the .zip file with a file
name corresponding to the key.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
_______________________________________________
NumPy-Discussion mailing list
NumPy-Di...@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion
Hey Robert,
If I expand the dictionary to keyword arguments to savez, it works
beautifully:
-----
In [4]: a = np.array([[1,2,3],[4,5,6]])
In [5]: b = np.array([('foo',1),('bar',2)], dtype=[('name', 'S8'),
('code', int)])
In [6]: d = dict(a=a, b=b)
In [7]: np.savez('mydata.npz', **d)
In [8]: q = np.load('mydata.npz')
In [9]: q['a']
Out[9]:
array([[1, 2, 3],
[4, 5, 6]])
In [10]: q['b']
Out[10]:
array([('foo', 1), ('bar', 2)],
dtype=[('name', '|S8'), ('code', '<i4')])
-----
But if I just pass in the dictionary to savez:
-----
In [26]: np.savez('mydata2.npz', d)
In [27]: q2 = np.load('mydata2.npz')
In [28]: q2.files
Out[28]: ['arr_0']
In [29]: q2['arr_0']
Out[29]:
array({'a': array([[1, 2, 3],
[4, 5, 6]]), 'b': array([('foo', 1), ('bar', 2)],
dtype=[('name', '|S8'), ('code', '<i4')])}, dtype=object)
-----
What would be the canonical way to pull this apart to get the arrays?
Warren
Don't.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
That's what I suspected. Thanks.
Correct. The data is loaded lazily, on request.