[Numpy-discussion] adding field to rec array

John Hunter jdh2358 at gmail.com
Fri Oct 5 14:02:00 EDT 2007


On 9/26/07, Robert Kern <robert.kern at gmail.com> wrote:

> Here is the straightforward way:
>
> In [15]: import numpy as np
>
> In [16]: dt = np.dtype([('foo', int), ('bar', float)])
>
> In [17]: r = np.zeros((3,3), dtype=dt)

Here is a (hopefully) simple question.  If I create an array like
this, how can I efficiently convert it to a record array which lets me
do r.attr in addition to r['attr'].  I'm pretty addicted to the former
syntax.

In [114]: dt = np.dtype([('foo', int), ('bar', float)])

In [115]: r = np.zeros((3,3), dtype=dt)

In [116]: r.dtype
Out[116]: dtype([('foo', '<i4'), ('bar', '<f8')])

In [117]: r['foo']
Out[117]:
array([[0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]])

In [118]: r.foo
------------------------------------------------------------
Traceback (most recent call last):
  File "<ipython console>", line 1, in ?
AttributeError: 'numpy.ndarray' object has no attribute 'foo'


Thanks,
JDH



More information about the NumPy-Discussion mailing list