可以说我有三个矢量a
,b
,并c
:如何创建具有不同列数据类型的numpy矩阵?
a = np.array([1,2,3])
b = np.array([1.2, 3.2, 4.5])
c = np.array([True, True, False])
是什么把它变成不同的数据类型和列标签的矩阵d
最简单的方法,因为这样的:
d = ([[1, 1.2, True],
[2, 3.2, True],
[3, 4.5, False]],
dtype=[('aVals','i8'), ('bVals','f4'), ('cVals','bool')])
这样我就可以将这个矩阵保存到.npy
文件中,并在打开它后访问数据;
>>> d = np.load('dFile')
>>> d['aVals']
np.array([1,2,3], dtype = [('aVals', '<i8)])
我使用了一个cimple column_stack
创建矩阵,但我得到一个头痛试图找出如何包含数据类型和列名,因为column_stack
不接受dtype
的说法,我可以”在执行column_stack
之后,请参阅添加字段名称和数据类型的方法。值得一提的是,向量a
,b
和c
在创建时没有声明明确的数据类型,它们如上所示。
顺便说一句,如果你这样做是为了拯救数组,你可以使用'np.savez(OUTFILE,aVals = A,bVals = B,cVals = c)'将所有三个数组保存到压缩的npz文件中。 – unutbu