El dc 10 de 01 del 2007 a les 08:53 -0800, en/na Stefan Kuzminski va
escriure:
> I have been using the readCoordinates() method on the Table class for some 
> time.  I'm switching from Tables to EArrays, but the EArray class does not 
> have a readCoordinates?  If I loop over the index array that is the new order 
> and call read for each item performance suffers.  Is there a fast way to 
> reorder an EArray ( or VLArray )?

There is currently no provision for such an sparse read (this is what
readCoordinates() does) for *Array objects. It shouldn't be too
difficult to add such a method, but most of the advanced functionality
is implemented for the Table objects only (hence the PyTables name :).

In order to do such a reodering, one straighforward way should be to
load the entire array in memory, reorder it there, and save it again.
However, the most probable thing is that you cannot do that because your
arrays wouldn't fit in memory.

Sorry, but I can't realize an efficient way to do what you want other
than reading the EArray by entire chunks (instead of reading row by
row), select the interesting rows in a buffer, and save them in the
destination EArray. Of course, this represents a fair amount of work on
your side for implementing such a buffered I/O algorithm.

Cheers,

-- 
Francesc Altet    |  Be careful about using the following code --
Carabos Coop. V.  |  I've only proven that it works, 
www.carabos.com   |  I haven't tested it. -- Donald Knuth


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Pytables-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pytables-users

Reply via email to