[SciPy-User] Populating a recarray from 0 size

Sergi Pons Freixes spons@utm.csic...
Sat Aug 21 20:18:04 CDT 2010

Hi everybody,

I'm interested in populating a recarray a row at a time. I thought in using:

# Creation of empty recarray
names = ["cruise", "SEQ", "param", "r2", "stderr", "slope", "intercept"
formats = ["i4", "i4", "S10", "f4", "f4", "f4", "f4"]
statsc = scipy.empty(0, dtype={"names":names, "formats":formats})

# Adding row and setting values
statsc = scipy.resize(statsc, statsc.size + 1)
statsc["cruise"][-1] = cr
statsc["SEQ"][-1] = ca
statsc["param"][-1] = yvar

But scipy.resize complains with:
statsc = scipy.resize(statsc, statsc.size + 1)
  File "/usr/lib/python2.6/site-packages/numpy/core/fromnumeric.py",
line 833, in resize
    if not Na: return mu.zeros(new_shape, a.dtype.char)
ValueError: Empty data-type

So, is scipy not happy because statsc.size is 0 on the first resize?
In this case, how could I overcome this limitation?


Sergi Pons Freixes
Ph.D. Student
Marine Technology Unit
Centre Mediterrani d'Investigacions Marines i Ambientals (CMIMA-CSIC)
Pg. Marítim Barceloneta, 37-49
E-08003 Barcelona (Spain)
Ph.  +34 93 230 95 00 (ext. 1510)
Fax. +34 93 230 95 55

More information about the SciPy-User mailing list