[Numpy-discussion] Request for a bit more info on structured arrays in the "basics" page

Russell E. Owen rowen@uw....
Fri Mar 4 18:09:02 CST 2011

The page <http://docs.scipy.org/doc/numpy/user/basics.rec.html>

gives a good introduction to structured arrays. However, it says nothing 
about how to set a particular element (all fields at once) from a 
collection of data.

For instance:

stArr = numpy.zeros([4,5], dtype=[("pos", float, (2,)), ("rot", float)])

The question is how to set stArr[0]?

>From experimentation it appears that you can provide a tuple, but not a 
list. Hence the following works just fine (and that the tuple can 
contain a list):
strArr[0,0] = ([1.0, 1.1], 2.0)

but the following fails:
strArr[0,0] = [[1.0, 1.1], 2.0]
with an error:
TypeError: expected a readable buffer object

This is useful information if one is trying to initialize a structured 
array from a collection of data, such as that returned from a database 

So this is a request to add a bit to the documentation.

-- Russell

More information about the NumPy-Discussion mailing list