From: Francesc A. <fa...@gm...> - 2013-07-29 02:19:13
|
On 7/28/13 9:58 PM, Anthony Scopatz wrote: > > On Sun, Jul 28, 2013 at 8:38 PM, David Reed <dav...@gm... > <mailto:dav...@gm...>> wrote: > > I'm really trying to become more productive using PyTables, but am > struggling with what I should be using. Whats the difference > between a table and an array? > > > Hi David, > > The difference between Arrays and Tables, conceptually is the same as > the different between numpy arrays and numpy structured arrays. The > plain old [Aa]rray is a continuous block of a single data type. > Tables and structured arrays have a more complex data type that is > composed of a continuous sequence of other data types (ie the fields / > columns). Which data structure you use really depends a lot of the > type of problem you are trying to solve and what kinds of questions > you want to answer with that data structure. > > That said, the implementation of Tables is far more similar to EArrays > than Arrays. So a lot of the performance trade offs that you see are > similar. Besides this, another interesting difference is that Tables allow queries to be performed in a similar way to relational databases (but using a more NumPy-esque syntax). Here it is some examples: http://pytables.github.io/cookbook/hints_for_sql_users.html?highlight=query#selecting-data and you can index columns too: http://pytables.github.io/cookbook/hints_for_sql_users.html?highlight=query#creating-an-index so that you can accelerate queries involving indexed columns. -- Francesc Alted |