Wie in den
numpy.transpose(a, axes=None)
Achsen documentation -
gegeben.
Das zweite Argument sind die Achsen, mit denen die Werte permutiert werden. Das heißt, wenn der Index des Anfangselementes (x,y,z)
ist (x
ist 0. Achse, y
ist 1. Achse und z
ist 2. Achse), wird die Position dieses Elements im resultierenden Array (z, y, x) (das heißt) ist die 2. Achse zuerst, dann die 1. Achse und die letzte 0. Achse), basierend auf dem Argument, das Sie für axes
angegeben haben.
Da Sie eine Reihe von Form sind zur Umsetzung (2,2,2)
, die transponierte Form ist auch (2,2,2)
und die Positionen ändern würde, wie -
(0,0,0) -> (0,0,0)
(1,0,0) -> (0,0,1)
(0,1,0) -> (0,1,0)
(1,1,0) -> (0,1,1)
...
Da die Achsen Sie wählen, sind trivial, lässt erklären dies für andere Achsen. Beispiel -
In [54]: A = np.arange(30).reshape((2, 3, 5))
In [55]: A
Out[55]:
array([[[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]],
[[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29]]])
In [56]: np.transpose(A,(1,2,0))
Out[56]:
array([[[ 0, 15],
[ 1, 16],
[ 2, 17],
[ 3, 18],
[ 4, 19]],
[[ 5, 20],
[ 6, 21],
[ 7, 22],
[ 8, 23],
[ 9, 24]],
[[10, 25],
[11, 26],
[12, 27],
[13, 28],
[14, 29]]])
Hier ist das erste Element (0,0,0)
wird das (0,0,0)
Element im Ergebnis. Das zweite Element (0,0,1)
wird das (0,1,0)
Element im Ergebnis. Und so weiter -
(0,0,0) -> (0,0,0)
(0,0,1) -> (0,1,0)
(0,0,2) -> (0,2,0)
...
(2,3,4) -> (3,4,2)
...
Haben Sie die Dokumentation gelesen, d. H. 'Help (numpy.transpose)'? Sie "permutieren" einfach die Dimensionen. Übergeben Sie die Permutation '(2, 1, 0)', dann befindet sich das Element, das sich an der Position '[x, y, z]' 'befand, jetzt in der Position '[z, y, x]' oder in Position ' [z, x, y] 'für Permutation' (3, 0, 1) ' –
Danke @tobias_k –