[Numpy-discussion] dtype "reduction"

Nicolas Rougier Nicolas.Rougier@inria...
Thu Dec 27 02:11:05 CST 2012


Yep, I'm trying to construct dtype2 programmaticaly and was hoping for some function giving me a "canonical" expression of the dtype. I've started playing with fields but it's just a bit harder than I though (lot of different cases and recursion).

Thanks for the answer.


Nicolas

On Dec 27, 2012, at 1:32 , Nathaniel Smith wrote:

> On Wed, Dec 26, 2012 at 8:09 PM, Nicolas Rougier
> <Nicolas.Rougier@inria.fr> wrote:
>> 
>> 
>> Hi all,
>> 
>> 
>> I'm looking for a way to "reduce" dtype1 into dtype2 (when it is possible of course).
>> Is there some easy way to do that by any chance ?
>> 
>> 
>> dtype1 = np.dtype( [ ('vertex',  [('x', 'f4'),
>>                                  ('y', 'f4'),
>>                                  ('z', 'f4')]),
>>                    ('normal',  [('x', 'f4'),
>>                                 ('y', 'f4'),
>>                                 ('z', 'f4')]),
>>                    ('color',   [('r', 'f4'),
>>                                 ('g', 'f4'),
>>                                 ('b', 'f4'),
>>                                 ('a', 'f4')]) ] )
>> 
>> dtype2 = np.dtype( [ ('vertex',  'f4', 3),
>>                     ('normal',  'f4', 3),
>>                     ('color',   'f4', 4)] )
>> 
> 
> If you have an array whose dtype is dtype1, and you want to convert it
> into an array with dtype2, then you just do
>  my_dtype2_array = my_dtype1_array.view(dtype2)
> 
> If you have dtype1 and you want to programmaticaly construct dtype2,
> then that's a little more fiddly and depends on what exactly you're
> trying to do, but start by poking around with dtype1.names and
> dtype1.fields, which contain information on how dtype1 is put together
> in the form of regular python structures.
> 
> -n
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion



More information about the NumPy-Discussion mailing list