如何使用 numpy 对元组数组进行切片?
How to slice an array of tuples with numpy?
我有一个 numpy 元组数组:
>>> v.dtype
dtype([('AgentID', '<i8'), ('CellID', '<i4'), ('Hybridization', '<f4')])
有没有办法创建一个只包含 'Hybridization' 值的数组,而不循环遍历 v 中的元组?
这不是一个元组数组(这将是一个非常无用的数据结构)。 That is a structured array。您可以简单地通过以下方式获得您想要的值:
arr['Hybridization']
例如:
In [1]: import numpy as np
In [2]: arr = np.array([(1,2,3),(4,5,6), (7,8,9)], dtype=np.dtype([('AgentID', '<i8'), ('CellID', '<i4'), ('Hybridization', '<f4')]))
In [3]: arr['Hybridization']
Out[3]: array([3., 6., 9.], dtype=float32)
我有一个 numpy 元组数组:
>>> v.dtype
dtype([('AgentID', '<i8'), ('CellID', '<i4'), ('Hybridization', '<f4')])
有没有办法创建一个只包含 'Hybridization' 值的数组,而不循环遍历 v 中的元组?
这不是一个元组数组(这将是一个非常无用的数据结构)。 That is a structured array。您可以简单地通过以下方式获得您想要的值:
arr['Hybridization']
例如:
In [1]: import numpy as np
In [2]: arr = np.array([(1,2,3),(4,5,6), (7,8,9)], dtype=np.dtype([('AgentID', '<i8'), ('CellID', '<i4'), ('Hybridization', '<f4')]))
In [3]: arr['Hybridization']
Out[3]: array([3., 6., 9.], dtype=float32)