Hi Jon

2009/6/3 D2Hitman <[email protected]>:
> I understand record arrays such as:
> a_array =
> np.array([(0.,1.,2.,3.,4.),(1.,2.,3.,4.,5.)],dtype=[('a','f'),('b','f'),('c','f'),('d','f'),('e','f')])
> do this with field names.
> a_array['a'] = array([ 0.,  1.], dtype=float32)
> however i seem to lose simple operations such as multiplication (a_array*2)
> or powers (a_array**2).

As a workaround, you can have two views on your data:

n [39]: x
Out[39]:
array([(0.0, 1.0, 2.0, 3.0, 4.0), (1.0, 2.0, 3.0, 4.0, 5.0)],
      dtype=[('a', '<f4'), ('b', '<f4'), ('c', '<f4'), ('d', '<f4'),
('e', '<f4')])

In [40]: x = x_dict.view(np.float32)

In [41]: x**2
Out[41]: array([  0.,   1.,   4.,   9.,  16.,   1.,   4.,   9.,  16.,
25.], dtype=float32)

Then you can manipulate the same data using two different "interfaces".

Regards
Stéfan
_______________________________________________
Numpy-discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to