我想在一个大阵列中自动地,“手动地”组装几个子阵列,它是:
import numpy as np
blank = np.empty([4,4])
A = np.ones([2,2])
B = np.ones([2,2]) * 2
C = np.ones([2,2]) * 3
D = np.ones([2,2]) * 4
A3d = np.reshape(A,(1,A.shape[0],A.shape[1]))
B3d = np.reshape(B,(1,B.shape[0],B.shape[1]))
C3d = np.reshape(C,(1,C.shape[0],C.shape[1]))
D3d = np.reshape(D,(1,D.shape[0],D.shape[1]))
conc = np.concatenate((A3d,B3d,C3d,D3d), axis=0)
blank[0:2,0:2] = conc[0,:,:]
blank[0:2,2:4] = conc[1,:,:]
blank[2:4,0:2] = conc[2,:,:]
blank[2:4,2:4] = conc[3,:,:]
我尝试了一个双循环,但它不工作。。。你知道吗
blank = np.empty([4,4])
for j in range(blank.shape[0]/A.shape[0]):
for i in range(blank.shape[0]/A.shape[0]):
blank[0:A.shape[0],j*A.shape[0]:A.shape[0]*(j+1)] = conc[j,:,:]
制作
conc
的较短方法您可以通过两个步骤连接这些片段,直接生成
blank
那还是“手册”吗?你知道吗
让我们回顾一下
blank
:通常是可以组装一个由一个concat组成的大型阵列,然后进行整形。但是
conc
中的数据元素是连续的。在blank
中的那些是散布的。这就是构造blank
更为棘手的原因。你知道吗元素是否必须按
blank
排列?为什么不?你知道吗但要关注双重迭代,让我们尝试:
这就提供了一个如何构造作业的线索
这是可以清理的,但这只是一个开始。你知道吗
但是回到叠加,这里有一个迭代的方法:
推广到其他形状:
相关问题 更多 >
编程相关推荐