簡體   English   中英

如何從列數組中進行numpy重組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM