python - Numpy 列标题不是记录数组

标签 python arrays numpy

我想这很简单,但在过去一个小时左右的时间里它让我感到沮丧...... 我想使用带有标题的 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']

如何将标题为 less x 和名称组合为带有标题的 x?

最佳答案

您可以简单地设置 xdtype 属性,如下所示:

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

这将更新数据类型。如果您需要更改数据类型,则必须构建一个新数组:

dtypes = ['<f4']*len(names)
y = np.array(x, dtype=zip(names, dtypes))

关于python - Numpy 列标题不是记录数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18558589/

相关文章:

python - 为什么 '\x' 在 Python 中无效?

python - 如何在 python 二维数组中创建 if else 条件

javascript - NodeJs 对象基于键值 Id 合并

c - 在添加字符数组之前先对其进行移位

python - 如何在Python中列出数组中大于特定值的所有值

Python - 如何加速 for 循环从另一个 numpy 数组计算创建一个 numpy 数组

python - 给定颜色图名称、BoundryNorm 和 'c=',如何获得 matplotlib rgb 颜色?

python - 在python中为字典设置一个没有值的键

java 数组列表

python - 术语 : Python and Numpy - `iterable` versus `array_like`