On Jul 24, 2010, at 2:42 PM, Thomas Robitaille wrote:

> Hi,
> 
> If I create a structured array with vector columns:
> 
>>>> array = np.array(zip([[1,2],[1,2],[1,3]]),dtype=[('a',float,2)])
> 
> then examine the type of the column, I get:
> 
>>>> array.dtype[0]
> dtype(('float64',(2,)))
> 
> Then, if I try and view the numerical type, I see:
> 
>>>> array.dtype[0].type
> <type 'numpy.void'>
> 
> I have to basically do
> 
>>>> array.dtype[0].subdtype[0]
> dtype('float64')
> 
> to get what I need. I seem to remember that this used not to be the case, and 
> that even for vector columns, one could access array.dtype[0].type to get the 
> numerical type. Is this a bug, or deliberate?
> 


This looks the same as I remember it.   The dtype is a structured array with 
the filed name 'a' having an element which is a vector of floats.   As a 
result, the first dtype[0] extracts the vector of floats dtype.   This must be 
type "void" because it is a vector of floats.  To get to the underlying type, 
you have to do what you did.  I don't see how it would have worked another way 
in the past. 

-Travis




> Thanks,
> 
> Thomas
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

---
Travis Oliphant
Enthought, Inc.
oliph...@enthought.com
1-512-536-1057
http://www.enthought.com



_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to