[Numpy-discussion] saving incrementally numpy arrays
Juan Fiol
fiolj at yahoo.com
Wed Aug 12 19:48:30 EDT 2009
Thanks David, I'll look into it now.
Regarding the allocation/deallocation times I think that is not an issue for me. The chunks are generated by a fortran routine that takes several minutes to run (I am collecting a few thousand points before saving to disk). They are approximately the same size but not exactly. I want them to be stored for later retrieval and analysis in a convenient way.
Thanks, regards
-----------------------------------------
You'll probably want the EArray. createEArray() on a new h5file, then
append to it.
http://www.pytables.org/docs/manual/ch04.html#EArrayMethodsDescr
If your chunks are always the same size it might be best to try and do
your work in-place and not allocate a new NumPy array each time. In
theory 'del' ing the object when you're done with it should work but
the garbage collector may not act quickly enough for your liking/the
allocation step may start slowing you down.
What do I mean? Well, you could clear the array when you're done with
it using foo[:] = 0 (or nan, or whatever) and when you're "building it
up" use the inplace augmented assignment operators as much as possible
(+=, /=, -=, *=, %=, etc.).
David
More information about the NumPy-Discussion
mailing list