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]` '
' `main.ring4ext[0,0]` ' ' 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),aligned=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