可以說我有三個矢量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