2016-05-12 11 views
1

Ich versuche, eine Teilmenge eines mehrdimensionalen Arrays wählen Sie ein anderes Array, so zum Beispiel, wenn ich:Auswahl der Achse bildet mehrdimensionale Arrays mit einer Reihe

a=np.linspace(1,30,30) 
a=a.reshape(5,3,2) 

Ich mag die Teilmenge [nehmen: , 0,1], die ich mit den Worten

a_subset=a[:,0,1] 

tun können, aber ist es eine Möglichkeit, einen Array/Liste spezifiziert, dass die Teilmenge und dann subtrahieren sie zu definieren? Die Idee ist, so etwas wie:

b=[:,0,1] 
a_subset=a[b] 

, die als nicht funktioniert „:“ wird nicht als Einzelteil angenommen („Syntaxerror: ungültige Syntax“)

Antwort

4

Sie können diese numpy.index_exp mit tun (docs) als folgt:

import numpy as np 

a = np.linspace(1, 30, 30) 
a = a.reshape(5, 3, 2) 

b = np.index_exp[:,0,1] 
a_subset = a[b] 
+0

Äquivalente Ausdrücke sind 'np.s _ [:, 0,1]' und '(slice (None), 0, 1)' – hpaulj

Verwandte Themen