2

假设我有以下数组:

a = array([(1L, 2.0, 'buckle_my_shoe'), (3L, 4.0, 'margery_door')], 
dtype=[('f0', '<i8'), ('f1', '<f8'), ('f2', 'S14')])

如何访问列?

我可以使用以下语法访问一行:

a[0][:]

但是当我尝试以相同的方式访问列时出现错误。

a[:][0]

笔记。这不是“如何访问 NumPy 多维数组的第 i 列? ”的欺骗,因为我使用的是不同类型的数组。

4

1 回答 1

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')

在这里,f0f1f2您的数组中的字段名称dtype

有关详细信息,请参阅结构化数组

于 2013-03-22T15:01:54.863 回答