[Numpy-discussion] record array with array elements
Robert Kern
robert.kern@gmail....
Tue Jan 6 15:41:49 CST 2009
On Tue, Jan 6, 2009 at 14:07, Igor Sylvester <igorsyl@gmail.com> wrote:
> Everyone,
>
> Shouldn't the itemsize below be 2?
>
>>>> import numpy as np
>>>> dtype = np.dtype( [ (((2,), 'top'), [('nested', 'i1')]) ] )
>>>> dtype.itemsize
> 1
>>>> np.__version__
> '1.0.4'
>
> The elements of the dtype are of type array of size 2. Each element is a
> (nested) record array of size 2 with one field of type 'i1'. In contiguous
> memory, this should look identical to an 'i1' array of size 2.
That's not a valid dtype. Array fields should be of the form (name,
subdtype, shape), not ((shape, name), subdtype). I'm not sure why
dtype() does not simply reject this input.
In [22]: np.dtype([('top', [('nested', 'i1')], (2,))]).itemsize
Out[22]: 2
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the Numpy-discussion
mailing list