所以这是我尝试做的,
N=1000
x=np.arange(0,1,1./float(len(N)))
XX,YY=np.meshgrid(x,x)
l=len(XX)
grid=np.array([ ([XX[i,i],YY[j,j],0. ]) for i in xrange(l) for j in xrange(l) ])
numpy 例程相当快,但我需要网格采用不同的形式,这需要很长时间(我猜是因为索引 numpy 数组)。
感谢您的任何建议:)
干杯
利用广播:
z = np.zeros([N, N, 3])
z[:,:,0] = x.reshape(-1,1)
z[:,:,1] = x
fast_grid = z.reshape(N*N, 3)
print np.all( grid == fast_grid )
True
您可以执行以下操作:
grid = np.mgrid[:N, :N, :1]
grid = grid.T.reshape(-1, 3)