[Numpy-tickets] [NumPy] #318: Easy way to increment the nesting level in recarrays
NumPy
numpy-tickets at scipy.net
Thu Oct 5 05:27:14 CDT 2006
#318: Easy way to increment the nesting level in recarrays
-------------------------+--------------------------------------------------
Reporter: faltet | Owner: somebody
Type: enhancement | Status: new
Priority: normal | Milestone:
Component: numpy.core | Version:
Severity: normal | Keywords:
-------------------------+--------------------------------------------------
Hi,
I'd like to see an easy way to increment the level of nesting in
recarrays. For me, a good way would be that the next could work:
{{{
In [33]:nr=numpy.rec.array("a"*8, dtype=[('x', 'i4'),('y','i4')])
In [34]:nr
Out[34]:
recarray([(1633771873, 1633771873)],
dtype=[('x', '<i4'), ('y', '<i4')])
In [35]:numpy.rec.array(nr, dtype=[('x', 'i4'),('y','i4')])
Out[35]:
recarray([(1633771873, 1633771873)],
dtype=[('x', '<i4'), ('y', '<i4')])
# Fine until here, but:
In [36]:numpy.rec.array(nr, dtype=[('new',[('x', 'i4'),('y','i4')])])
---------------------------------------------------------------------------
exceptions.ValueError Traceback (most
recent call last)
/home/faltet/python.nobackup/numpy/<ipython console>
/usr/lib/python2.4/site-packages/numpy/core/records.py in array(obj,
dtype, shape, offset, strides, formats, names, titles, aligned, byteorder,
copy)
516 copied = 0
517 if dtype is not None and (obj.dtype != dtype):
--> 518 new = obj.astype(dtype)
519 copied = 1
520 else:
ValueError: size of tuple must match number of fields.
}}}
i.e. in my opinion, 'nr' is a buffer that is compatible with both [('x',
'i4'),('y','i4')] and [('new',[('x', 'i4'),('y','i4')])] datatypes, and
there wouldn't be any harm in allowing this. I understand that allowing
this in numpy.array would a bit controversial, but at least allowing it in
numpy.rec.array would not create any secondary effect and this feature can
be handy in some situations.
--
Ticket URL: <http://projects.scipy.org/scipy/numpy/ticket/318>
NumPy <http://projects.scipy.org/scipy/numpy>
The fundamental package needed for scientific computing with Python.
More information about the Numpy-tickets
mailing list