Robert Kern wrote: > On Tue, Nov 17, 2015 at 3:48 PM, Neal Becker <ndbeck...@gmail.com> wrote: >> >> I have an array of shape >> (7, 24, 2, 1024) >> >> I'd like an array of >> (7, 24, 2048) >> >> such that the elements on the last dimension are interleaving the >> elements from the 3rd dimension >> >> [0,0,0,0] -> [0,0,0] >> [0,0,1,0] -> [0,0,1] >> [0,0,0,1] -> [0,0,2] >> [0,0,1,1] -> [0,0,3] >> ... >> >> What might be the simplest way to do this? > > np.transpose(A, (-2, -1)).reshape(A.shape[:-2] + (-1,))
I get an error on that 1st transpose: here, 'A' is 'fftouts' print (fftouts.shape) print (np.transpose (fftouts, (-2,-1)).shape) (4, 24, 2, 1024) <<< fftouts.shape prints this Traceback (most recent call last): File "test_uw2.py", line 194, in <module> run_line (sys.argv) File "test_uw2.py", line 190, in run_line run (opt) File "test_uw2.py", line 103, in run print (np.transpose (fftouts, (-2,-1)).shape) File "/home/nbecker/.local/lib/python2.7/site- packages/numpy/core/fromnumeric.py", line 551, in transpose return transpose(axes) ValueError: axes don't match array > >> ------------ >> A different question, suppose I just want to stack them >> >> [0,0,0,0] -> [0,0,0] >> [0,0,0,1] -> [0,0,1] >> [0,0,0,2] -> [0,0,2] >> ... >> [0,0,1,0] -> [0,0,1024] >> [0,0,1,1] -> [0,0,1025] >> [0,0,1,2] -> [0,0,1026] >> ... > > A.reshape(A.shape[:-2] + (-1,)) > > -- > Robert Kern _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion