如何重塑2D数组?

问题描述:

我想重塑四个二维数组:A,B,C和D(为了使函数最小化,我已经在“大数组”之前进行了分割......并且这些数组是最小化的分析结果)顺序:如何重塑2D数组?

AB

CD

我尝试用np.reshape或矢量化,然后串联,但不可能得到这个命令,你可以看到下面的图片,所有的混合。我应该有均匀

enter image description here

谢谢回答的结果,它通过这种方式效果很好!

我必须将其应用于大量的子阵列,所以我想自动化数组的重塑,例如下面的例子,4个数组的情况。正如你可以看到我尝试用for循环,但它不工作,也许通过这种方式,它可能是不是非常快...

test_reshape = np.empty([20,20]) 


test_reshape[0:10,0:10] = frametemperature[0,:,:] 
test_reshape[0:10,10:10*2.] = frametemperature[1,:,:] 

test_reshape[10:10*2.,0:10] = frametemperature[2,:,:] 
test_reshape[10:10*2.,10:10*2.] = frametemperature[3,:,:] 



for i in range(frametemperature.shape[0]/2): 
    for j in range(frametemperature.shape[0]/2): 
     for k in range(frametemperature.shape[0]): 
      test_reshape[i*10:10*(i+1),j*10:10*(j+1)] = frametemperature[k,:,:] 
+0

为最小化的代码分配的阵列是在这里:http://*.com/questions/25682495 /蟒最小化-上子阵列-的-一个阵列上带有一个栅。我适合我的4个数组与特定的功能,所以我有一个特定的meshgrid和每个数组的功能,这就是为什么我想重塑所有结果! – user3601754 2014-09-05 13:52:51

所以,你已经得到了你想要回合并成一个4个二维数组二维数组。

1)create a empty 2d array to store them in

import numpy as np 
blank = np.empty([4,4]) 

2)根据它们的位置,而不是串联

A = np.ones([2,2]) 
B = np.ones([2,2]) * 2 
C = np.ones([2,2]) * 3 
D = np.ones([2,2]) * 4 
blank[0:2,0:2] = a 
blank[0:2,2:4] = b 
blank[2:4,0:2] = c 
blank[2:4,2:4] = d 
blank