[Numpy-discussion] convert dictionary of arrays into single array

Bruce Southey bsouthey at gmail.com
Wed Mar 16 10:30:29 EDT 2011

On 03/16/2011 08:56 AM, John Salvatier wrote:
> Loop through to build a list of arrays, then use vstack on the list.
> On Wed, Mar 16, 2011 at 1:36 AM, John <washakie at gmail.com 
> <mailto:washakie at gmail.com>> wrote:
>     Hello,
>     I have a dictionary with structured arrays, keyed by integers 0...n.
>     There are no other keys in the dictionary.
>     What is the most efficient way to convert the dictionary of arrays to
>     a single array?
>     All the arrays have the same 'headings' and width, but different
>     lengths.
>     Is there something I can do that would be more efficient than looping
>     through and using np.concatenate (vstack)?
>     --john
>     _______________________________________________

Numpy does not permit a 'single' array of different shapes - ie a 
'ragged array'.
Sure you could convert this into a structured array (you know n so you 
can create an appropriate empty structured array and assign the array by 
looping across the dict) but that is still not a 'single' array. You can 
use a masked array where you masked the missing elements across your arrays.

Francesc Alted pointed out in the 'ragged array implimentation' thread 
(http://mail.scipy.org/pipermail/numpy-discussion/2011-March/055219.html) that 
pytables does support this.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20110316/7db0a665/attachment.html>

More information about the NumPy-Discussion mailing list