我有一个数组,希望以以下形式切成多个数组:
M = [1,2,3 to [ [1],[2]....[9] ] (List of arrays)
4,5,6
7,8,9]
我想知道如何重新加入他们以再次获得M。 除了命名每个数组并将其手动放置在正确的(行,列)位置之外,我找不到其他解决方案。
编辑:
我发现我的解释不清楚。我所拥有的是一个大数组,我想将其切成子数组。
M.shape = (5000,5000,3) =====> L = [ subarray1, subarray2 ...]
with subarray.shape = (500,500,3)
第二步:合并
from L = [ subarray1, ...] to M
感谢您的帮助!
答案 0 :(得分:0)
您可以通过以下方式完成
M = np.array([[1,2,3],[4,5,6],[7,8,9]])
A = M.reshape(-1,1)
print(A)
#for getting back in the original form
a = len(A)
c = [A[i-3:i] for i in range(3,a+1,3)]
c_new = np.array([np.concatenate(i) for i in c]).reshape(3,3)
print(c_new)
A-
[[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]]
c_new-
[[1 2 3]
[4 5 6]
[7 8 9]]