说我有以下数组:
a = array([(1L, 2.0, 'buckle_my_shoe'), (3L, 4.0, 'margery_door')],
dtype=[('f0', '<i8'), ('f1', '<f8'), ('f2', 'S14')])
如何访问列?
我可以使用以下语法访问一行:
a[0][:]
但是当我尝试以相同的方式访问列时出现错误。
a[:][0]
请注意。这不是“How to access the ith column of a NumPy multidimensional array?”的欺骗,因为我使用的是不同类型的数组。
答案 0 :(得分:2)
In [33]: a['f0']
Out[33]: array([1, 3], dtype=int64)
In [34]: a['f1']
Out[34]: array([ 2., 4.])
In [35]: a['f2']
Out[35]:
array(['buckle_my_shoe', 'margery_door'],
dtype='|S14')
此处,f0
,f1
和f2
是数组dtype
中的字段名称。
有关详细信息,请参阅Structured Arrays。