2012-10-08 12 views
19

estoy traduciendo un programa de MATLAB para Python.de MATLAB en Python

El código MATLAB utiliza el método de permuta:

B = PERMUTE(A,ORDER) rearranges the dimensions of A so that they 
% are in the order specified by the vector ORDER. The array produced 
% has the same values as A but the order of the subscripts needed to 
% access any particular element are rearranged as specified by ORDER. 
% For an N-D array A, numel(ORDER)>=ndims(A). All the elements of 
% ORDER must be unique. 

¿Hay un método equivalente en Python/NumPy?

+0

[numpy.rollaxis] (http://docs.scipy.org/doc/numpy/reference/generated/numpy.rollaxis.html#numpy.rollaxis) está cerca ... – mgilson

+2

@Maurits Esa es la permutación aleatoria. Ya que no hay nada de azar en la descripción de la "permuta" función en Matlab que supongo que no es al azar ... – LynnH

+0

@ user1729698 Mi error. – Maurits

Respuesta

22

Esto se rueda en la función transpose en numpy.ndarray. El comportamiento predeterminado invierte el orden, pero puede proporcionar una lista de su propio pedido.

+0

Gracias, esto era de hecho la solución :) – LynnH