我有一維不同長度的np.arrays。 什麼是最pythonic的方式將其分成長度相同的子數組(n = 384),並保留最後一個子數組(更短)?將np.array分割成長度相同的子陣列
-1
A
回答
1
假設x
是一維數組,你可以這樣做:
x = x[:384 * (x.shape[0] // 384)].reshape(-1, 384)
x
現在有形狀(n, 384)
。您可以使用x[i]
訪問每個塊,其中0 <= i < n
。
1
取決於「子陣列」的含義。
如果你想大小的列表384個ndarray
對象,這不正是你要求:
np.split(x, np.arange(0, x.size, 384))[:-1]
你可以用在nd.array()
得到一個輸出相當於@COLDSPEED,但可能有點慢。
的真正的好處,這就是如果你想不同大小的一顆顆ndarrays
連接成一個n x 384
排列,列表的級聯可能比ndarray
對象
相關問題
- 1. 分割字符串分成n長度的陣列
- 2. rownames將矩陣分割成子矩陣
- 3. 分割成列的矩陣
- 4. 分割系列串長度
- 5. matplotlib散射陣列長度不相同
- 6. 分割的陣列成一些子陣列
- 7. 詞典成子陣列的分割陣列
- 8. 將元組列表分割成相同元組字段的子列表
- 9. 將多行分割成不同的陣列
- 10. 分區陣列分成相同總和值的K個子集
- 11. 在Haskell中將相同長度的子列表打破列表
- 12. Excel VBA分割列以一定的長度分成多行
- 13. 在紅寶石由固定長度分割的陣列
- 14. 如何將相同長度的列表組合成一個?
- 15. 的Python:分割由長度
- 16. javascript:由一個給定的分隔符將數組分割成子陣列
- 17. Powershell將一個長陣列分成長度爲N的數組在一行中?
- 18. 將文本分割成最大長度的線條
- 19. 分割文件分割成多個文件/陣列 - perl的
- 20. PHP的如何分割長陣列(句子)成更小的陣列(關鍵字)穿過foreach循環
- 21. 獲取k-1的長度ķ陣列的長度子集陣列
- 22. 將未知長度的序列分割成一定數量的集合R
- 23. 長度陣列陣列
- 24. 在長度相等的另一陣列基於值拆分陣列 - 的Javascript
- 25. 將分割列表分成「最大」相等大小的塊
- 26. localStorage陣列分割
- 27. PHP:preg_match_all() - 分割陣列
- 28. 分割陣列成加和值
- 29. 不同值的位長度陣列
- 30. 轉換列表爲相同長度的特殊矩陣
@MihaG的串聯更快。請注意:如果x是一個一維numpy數組,則可以使用'x.shape [0] // 384'加速截斷操作。 –