如何重塑2D数组?
问题描述:
我想重塑四个二维数组:A,B,C和D(为了使函数最小化,我已经在“大数组”之前进行了分割......并且这些数组是最小化的分析结果)顺序:如何重塑2D数组?
AB
CD
我尝试用np.reshape或矢量化,然后串联,但不可能得到这个命令,你可以看到下面的图片,所有的混合。我应该有均匀
谢谢回答的结果,它通过这种方式效果很好!
我必须将其应用于大量的子阵列,所以我想自动化数组的重塑,例如下面的例子,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,:,:]
答
所以,你已经得到了你想要回合并成一个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
为最小化的代码分配的阵列是在这里:http://stackoverflow.com/questions/25682495 /蟒最小化-上子阵列-的-一个阵列上带有一个栅。我适合我的4个数组与特定的功能,所以我有一个特定的meshgrid和每个数组的功能,这就是为什么我想重塑所有结果! – user3601754 2014-09-05 13:52:51