从元组数组中获取numpy数组

4

我使用了numpy、MySQLdb和scipy,最终从MySQL游标执行得到一个元组数组。然后我使用了np.fromiter函数。现在我有了一个看起来像这样的元组数组:

>>> A
array([('bob', 0.43), ('dan', 0.24), ('bill', 0.14)
       ('sharen', 0.28), ..., ('zena', 0.24), ('zoe', 0.39)],
      dtype = [('f0', 'S10'), ('f1', '<f4')])

我该如何为每个元组的第一部分创建一个numpy数组?我尝试过:

>>> Names = A[:][0]

我也尝试过:
>>> Names = np.array(A[:][0])

但是这样做行不通,只会给我返回第一个元组。我找不到针对该特定示例的任何文档。
我想要一个像这样的numpy数组:
>>> Names 
array[('bob', 'bill', all the other names...
>>> Numbers
array[(0.43, 0.24, etc...

非常感谢您的提前帮助。

这真的是输出吗,缺少了,] - abarnert
将来,只需复制并粘贴您的代码和输出。这样我们就可以确切地看到您所拥有的-更好的是,我们通常可以将其复制并粘贴到解释器会话或脚本中并进行测试。 - abarnert
1个回答

5
你手头的是一个recarray
在你的数组中,第一个字段名为'f0'。你可以从dtype部分(A.dtype)看出来。
你可以使用A['f0']或者A.f0来访问它。
Names = A.f0
Numbers = A.f1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接