[Numpy-discussion] bug ? in Records arrays in numarray
Sebastian Haase
haase at msg.ucsf.edu
Tue Jun 29 14:53:00 CDT 2004
OK,
I'm still trying to get a handle on these record arrays - because I think they
are pretty cool, if I could get them to work...
Following the code from yesterday (see that posting below) I discovered this:
main.ring4ext[0][0] is not the same as main.ring4ext[0,0]
is this intended ??
>>> main.ring4ext[0][0]
(2308, 76, 272, 1088481152.0, 104.18000030517578, 1994.949951171875)
>>> main.ring4ext[0,0]
(array([2308, 2309]), array([76, 76]), array([272, 269]), array([ 1.08848115e
+09, 1.08848115e+09], type=Float32), array([ 104.18000031, 104.45999908],
type=Float32), array([ 1994.94995117, 1994.95996094], type=Float32))
>>> main.ring4ext.shape # yesterday I had this different !!! (20,1)
(20, 2)
Any comments are appreciated,
Thanks
Sebastian
On Monday 28 June 2004 05:00 pm, Sebastian Haase wrote:
> Hi,
> I have two record arrays. I was trying to assign one item from one recarray
> to
>
> the other:
> >>> omx.zext[0] = main.ring4ext[0,0]
>
> Traceback (most recent call last):
> File "<input>", line 1, in ?
> File "X:/PrWin\numarray\records.py", line 744, in _setitem
> self.field(self._names[i])[row] = value.field(self._names[i])
> File "C:\Python22\Lib\site-packages\numarray\numarraycore.py", line 619,
> in __tonumtype__
> ValueError: Can't use non-rank-0 array as a scalar.
>
> >>> `omx.zext[0]`
>
> '<numarray.records.Record instance at 0x042AFC78>'
>
> >>> `main.ring4ext[0,0]`
>
> '<numarray.records.Record instance at 0x042AFC78>'
>
> >>> q = omx.zext[0]
> >>> w = main.ring4ext[0,0]
> >>> q
>
> (2097152107, -595656700, 91141, 1.0634608642000868e+037, -1.14841804241843e
> +018, 1.2771574333702815e-040)
>
> >>> w
>
> (array([428]), array([75]), array([124]), array([ 1.08846451e+09],
> type=Float32), array([ 99.25], type=Float32), array([ 1996.82995605],
> type=Float32))
>
> >>> omx.zext._formats
>
> ['1Int32', '1Int32', '1Int32', '1Float32', '1Float32', '1Float32']
>
> >>> main.ring4ext._formats
>
> ['1Int32', '1Int32', '1Int32', '1Float32', '1Float32', '1Float32']
>
>
> I can't track down why one (q) contains scalars and the other (w) constains
> arrays (is array([428]) a 'rank-0 array'? ) !
> This is how I generate them:
> main.ring4ext = rec.RecArray(main._extHdrRingBuffer, "i4,i4,i4,f4,f4,f4",
> shape=(ts,nc), names=("num","min","max","time","mean","darkVal"),
> aligned=1) omx.zext = rec.array(formats="i4,i4,i4,f4,f4,f4",
>
> names=("num","min","max","time","mean","darkVal"),shape=tuple(shapeZ),align
>ed=1 )
>
> [[BTW: (shapeZ is a list, if I say: ...,shape=shapeZ I get
> NameError, "Illegal shape %s" % `shape` from "records.py" in line 462
> -- usually type(shape) == types.ListType should be OK, right ?)
> ]]
>
>
> Any ideas?
>
> Thanks,
> Sebastian Haase
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by Black Hat Briefings & Training.
> Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
> digital self defense, top technical experts, no vendor pitches,
> unmatched networking opportunities. Visit www.blackhat.com
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion
More information about the Numpy-discussion
mailing list