从元组数组中获取 numpy 数组

1N5*_*818 4 python arrays tuples numpy mysql-python

我使用的是 numpy、MySQLbb 和 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')])
Run Code Online (Sandbox Code Playgroud)

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

>>> Names = A[:][0]
Run Code Online (Sandbox Code Playgroud)

我也试过:

>>> Names = np.array(A[:][0])
Run Code Online (Sandbox Code Playgroud)

但这没有用;只给了我第一个元组。我找不到该特定示例的任何文档。

我想要一个像这样的 numpy 数组:

>>> Names 
array[('bob', 'bill', all the other names...
>>> Numbers
array[(0.43, 0.24, etc...
Run Code Online (Sandbox Code Playgroud)

提前致谢。

shx*_*hx2 5

你得到的是一个recarray.

数组中的第一个字段名为“f0”。您可以从dtype( A.dtype)部分看出这一点。

您可以作为A['f0']或访问它A.f0

Names = A.f0
Numbers = A.f1
Run Code Online (Sandbox Code Playgroud)