Самое близкое к тому, что вы хотите, это использовать recarray
вместо ndarray
объектов Python:
num_stars = 10
dtype = numpy.dtype([('x', float), ('y', float), ('colour', float)])
a = numpy.recarray(num_stars, dtype=dtype)
a.colour = numpy.arange(num_stars)
print a.colour
печать
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
Использование массива объектов Python NumPy обычно менее эффективно, чем использование простого list
, тогда как recarray
хранит данные в более эффективном формате.