簡體   English   中英

將 numpy 數組切片成組

[英]Slice numpy array into groups

我們有以下 numpy 數組:

A = [[0,1,2,3],
[2,3,4,5],
[1,2,3,4],
[1,1,1,1],
[2,2,2,2],
[3,3,3,3],
[0,1,2,3],
[2,3,4,5],
[1,2,3,4],
 [10,10,10,10],
[20,20,20,20],
[30,30,30,30]]

我想創建兩個新的 arrays:

B = [[0,1,2,3],
[2,3,4,5],
[1,2,3,4],
[0,1,2,3],
[2,3,4,5],
[1,2,3,4]]

C = [[1,1,1,1],
[2,2,2,2],
[3,3,3,3],
 [10,10,10,10],
[20,20,20,20],
[30,30,30,30]]

基本上我想將數組 A 拆分為兩個新的 arrays ,其中 B 采用 3 行組,數組 C 采用下一組 3 行。

可能有許多不同的方法可以解決這個問題,這里有一個:

import numpy as np
A = np.array([[0,1,2,3],
[2,3,4,5],
[1,2,3,4],
[1,1,1,1],
[2,2,2,2],
[3,3,3,3],
[0,1,2,3],
[2,3,4,5],
[1,2,3,4],
 [10,10,10,10],
[20,20,20,20],
[30,30,30,30]])

indices = np.reshape(np.arange(A.shape[0]),(-1,3))

B = A[indices[::2].flatten()]
C = A[indices[1::2].flatten()]

我們試試看:

tmp = A.reshape(-1, 3, A.shape[1])
B = tmp[::2]
C = tmp[1::2]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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