3

我可以创建一个recarray 并按名称访问其成员:

import numpy as np

n = 20
x = np.recarray((n,), dtype=[('x',int),('y',float),('label',object)])
x.x[:] = range(n)
x.y[:] = np.arange(n)*0.08
x.label[:] =  ['%d bottles of beer on the wall' % i for i in range(n)]

我可以通过行索引访问数据,或者遍历行:

>>> print x[3]
(3, 0.24, '3 bottles of beer on the wall')

但是我怎样才能遍历这些字段或获取krecarray 中的第一个字段呢?

4

1 回答 1

3

recarrays 有一个field()为此目的的方法。使用您的示例...

>>> x.field(2)
... array(['0 bottles of beer on the wall', '1 bottles of beer on the wall',
       '2 bottles of beer on the wall', '3 bottles of beer on the wall',
       '4 bottles of beer on the wall', '5 bottles of beer on the wall',
       '6 bottles of beer on the wall', '7 bottles of beer on the wall',
       '8 bottles of beer on the wall', '9 bottles of beer on the wall',
       '10 bottles of beer on the wall', '11 bottles of beer on the wall',
       '12 bottles of beer on the wall', '13 bottles of beer on the wall',
       '14 bottles of beer on the wall', '15 bottles of beer on the wall',
       '16 bottles of beer on the wall', '17 bottles of beer on the wall',
       '18 bottles of beer on the wall', '19 bottles of beer on the wall'], dtype=object)
于 2013-10-17T20:25:09.013 回答