On Tue, Feb 10, 2009 at 11:29 AM, Mark Janikas <mjani...@esri.com> wrote: > I want to create an array that contains a column of permutations for each > simulation: > > import numpy as NUM > > import numpy.random as RAND > > x = NUM.arange(4.) > > res = NUM.zeros((4,100)) > > > for sim in range(100): > > res[:,sim] = RAND.permutation(x) > > > Is there a way to do this without a loop? Thanks so much ahead of timeā¦
Does this work? Might not be faster but it does avoid the loop. import numpy as np def weirdshuffle(nx, ny): x = np.ones((nx,ny)).cumsum(0, dtype=np.int) - 1 yidx = np.ones((nx,ny)).cumsum(1, dtype=np.int) - 1 xidx = np.random.rand(nx,ny).argsort(0).argsort(0) return x[xidx, yidx] _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion