[Numpy-discussion] reshaping array question

Sebastian Berg sebastian at sipsolutions.net
Tue Nov 17 13:53:34 EST 2015


On Di, 2015-11-17 at 13:49 -0500, Neal Becker wrote:
> Robert Kern wrote:
> 
> > On Tue, Nov 17, 2015 at 3:48 PM, Neal Becker <ndbecker2 at 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:
> 

Transpose needs a slightly different input. If you look at the help, it
should be clear. The help might also point to np.swapaxes, which may be
a bit more straight forward for this exact case.

> 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 at scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20151117/9db2d9d0/attachment.sig>


More information about the NumPy-Discussion mailing list