2013-07-19 15 views
8

Myślę (mam nadzieję), że to pytanie różni się znacznie od What is the equivalent of "zip()" in Python's numpy?, chociaż może to być po prostu moja ignorancja.Jaki jest numpy odpowiednik zip Pythona (*)?

Powiedzmy mam następujące:

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

i chcę, aby przekształcić go w

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

w Pythonie mogę zrobić:

>>> 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])] 

Ale jak to zrobić to z numpy tablic (bez użycia zip (*))?

Odpowiedz

6

Czy rzeczywiście powinieneś zwrócić krotki lub zmienić kształt tablicy?

>>> 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

Dziękujemy! Dokładnie to, czego szukałem. – rhombidodecahedron

Powiązane problemy