[英]how to make a numpy recarray from column arrays
我有一對numpy數組; 這是一個簡單的等效示例:
t = np.linspace(0,1,100)
data = ((t % 0.1) * 50).astype(np.uint16)
我希望這些是dtype f8, i2
的numpy recarray中的列。 這是我能夠得到我想要的唯一方式:
X = np.array(zip(t,data),dtype=[('t','f8'),('data','i2')])
但如果我的數據值很大,這是正確的方法嗎? 我想盡量減少轉移數據的不必要開銷。
這似乎應該是一個簡單的問題,但我找不到一個好的例子。
一個直接的方法是使用numpy.rec.fromarrays
。 在你的情況下:
np.rec.fromarrays([t, data], dtype=[('t','f8'),('data','i2')])
或者干脆
np.rec.fromarrays([t, data], names='t,data', formats='f8,i2')
會工作。
在將2D numpy數組轉換為結構化數組時也給出了替代方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.