2017-07-03 76 views

回答

1

假設x是一維數組,你可以這樣做:

x = x[:384 * (x.shape[0] // 384)].reshape(-1, 384) 

x現在有形狀(n, 384)。您可以使用x[i]訪問每個塊,其中0 <= i < n

+0

@MihaG的串聯更快。請注意:如果x是一個一維numpy數組,則可以使用'x.shape [0] // 384'加速截斷操作。 –

1

取決於「子陣列」的含義。

如果你想大小的列表384個ndarray對象,這不正是你要求:

np.split(x, np.arange(0, x.size, 384))[:-1] 

你可以用在nd.array()得到一個輸出相當於@COLDSPEED,但可能有點慢。

的真正的好處,這就是如果你想不同大小的一顆顆ndarrays連接成一個n x 384排列,列表的級聯可能比ndarray對象