2013-07-19 11 views
8

Ich denke (hoffe) diese Frage unterscheidet sich wesentlich von What is the equivalent of "zip()" in Python's numpy?, obwohl es nur meine Ignoranz sein könnte.Was ist die Nummer von Pythons Zip (*)?

Sagen wir, ich habe folgendes:

 
[[[ 1, 2], 
    [ 3, 4], 
    [ 5, 6]], 
[[ 7, 8], 
    [ 9, 10], 
    [11, 12]]] 

und ich möchte, um sie in

 
[[[ 1, 2], 
    [ 7, 8]], 
[[ 3, 4], 
    [ 9, 10]], 
[[ 5, 6], 
    [11, 12]]] 

In Python ich tun kann:

>>> foo 
[[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]]] 
>>> zip(*foo) 
[([1, 2], [7, 8]), ([3, 4], [9, 10]), ([5, 6], [11, 12])] 

Aber wie kann ich tun das mit numy arrays (ohne zip (*))?

Antwort

6

Müssen Sie tatsächlich Tupel zurückgeben oder möchten Sie das Array umformen?

>>> a 
array([[[ 1, 2], 
     [ 3, 4], 
     [ 5, 6]], 

     [[ 7, 8], 
     [ 9, 10], 
     [11, 12]]]) 

>>> a.swapaxes(0,1) 
array([[[ 1, 2], 
     [ 7, 8]], 

     [[ 3, 4], 
     [ 9, 10]], 

     [[ 5, 6], 
     [11, 12]]]) 
+0

Vielen Dank! Genau das, was ich gesucht habe. – rhombidodecahedron

Verwandte Themen