1

我想这很简单,但在过去的一个小时左右让我感到沮丧......我想使用带有标题的 NORMAL numpy 数组(不是记录数组):例如(参见http://docs.scipy.org/doc /numpy/reference/generated/numpy.array.html )

x = np.array([(1,2),(3,4)],dtype=[('a','<f4'),('b','<f4')])

但是我有一个常规的非列 numpy 数组,例如

x = np.array([(1,2),(3,4)])

和一个名字列表,例如

names = ['a','b']

如何将titled less x 和names to ax 与标题结合起来?

4

1 回答 1

2

您可以简单地设置如下dtype属性:x

x.dtype = np.dtype([(n, x.dtype) for n in names])

这将就地更新 dtype。如果您需要更改 dtype,则必须构建一个新数组:

dtypes = ['<f4']*len(names)
y = np.array(x, dtype=zip(names, dtypes))
于 2013-09-01T13:05:54.087 回答