[Numpy-discussion] saving 3d array
Matthew Brett
matthew.brett at gmail.com
Sat Jun 15 08:28:43 EDT 2013
Hi,
On Sat, Jun 15, 2013 at 1:22 PM, Sudheer Joseph
<sudheer.joseph at yahoo.com> wrote:
> Dear Experts,
> I was trying to save results of eof analysis to an npz file and see that it is not possible to save a 3d array as npz file variable. Is this true even today or are there developments which make this possible? I am able to save all other variables except the 3d array.
> with best regards,
> Sudheer
>
> eof1.shape
> Out[61]: (10, 140, 180)
>
> pc1.shape
> Out[62]: (2192, 10)
>
> x.shape
> Out[63]: (140, 180)
>
> np.savez(outf,pcs=pc1,x=x,y=y,clevs=clevs)
>
> works fine
> but below do not
>
> np.savez(outf,eof1=eof1)
> ---------------------------------------------------------------------------
> NotImplementedError Traceback (most recent call last)
> /home/sjo/RAMA_20120807/adcp/<ipython-input-66-fe5940e44a77> in <module>()
> ----> 1 np.savez(outf,eof1=eof1)
>
> /usr/local/lib/python2.7/dist-packages/numpy-1.7.0-py2.7-linux-x86_64.egg/numpy/lib/npyio.pyc in savez(file, *args, **kwds)
> 514
> 515 """
> --> 516 _savez(file, args, kwds, False)
> 517
> 518 def savez_compressed(file, *args, **kwds):
>
> /usr/local/lib/python2.7/dist-packages/numpy-1.7.0-py2.7-linux-x86_64.egg/numpy/lib/npyio.pyc in _savez(file, args, kwds, compress)
> 573 fid = open(tmpfile, 'wb')
> 574 try:
> --> 575 format.write_array(fid, np.asanyarray(val))
> 576 fid.close()
> 577 fid = None
>
> /usr/local/lib/python2.7/dist-packages/numpy-1.7.0-py2.7-linux-x86_64.egg/numpy/lib/format.pyc in write_array(fp, array, version)
> 407 else:
> 408 if isfileobj(fp):
> --> 409 array.tofile(fp)
> 410 else:
> 411 # XXX: We could probably chunk this using something like
>
>
> /usr/local/lib/python2.7/dist-packages/numpy-1.7.0-py2.7-linux-x86_64.egg/numpy/ma/core.pyc in tofile(self, fid, sep, format)
> 5380
> 5381 """
> -> 5382 raise NotImplementedError("Not implemented yet, sorry...")
> 5383
> 5384 def toflex(self):
>
> NotImplementedError: Not implemented yet, sorry...
>From the traceback, it looks as though this is an error saving a
masked array, rather than a 3D array. Can you convert to a
non-masked array before saving? Maybe you could save the mask and the
unmasked array separately?
Best,
Matthew
More information about the NumPy-Discussion
mailing list