2017-01-26 3 views
1

Ich versuche, die folgende Schleife in Vectoring Ich versuche, mehrere Arrays an ein leeres Array anzuhängen.vectorize numpy append Schleife

# ff is a matrix of shape [100,1,96] 
temp = np.array([]).reshape(0,96) 
for kk in range(1,10,1): 
    temp = np.append(tr,ff[kk],axis=0) 
temp = temp.reshape(1,10,96) 

Ist es möglich, die obige Schleife mit numpy zu vektorisieren? Jede Hilfe ist willkommen!

+0

können Sie erklären, was Sie zu tun versuchen? –

+0

Ich versuche, Elemente einer Matrix der Dimension [100,1,96] der Dimension [1,96] zu überlappen und sie anzufügen, um [10,96] Array –

+0

Also die ersten 10 Einträge der ersten zu erstellen Dimension und alle Einträge aller anderen Dimensionen? Sollte nicht 'ff [: 10,:,:] Ihnen einfach die Daten geben, nach denen Sie suchen? –

Antwort

1

Sie können Slicing verwenden, um die Daten zu extrahieren, die Sie brauchen:

ff[:10,:,:] 

, die ein Array von Form (10, 1, 96) nachgeben. Um Sie sich von der leeren Dimension befreien, können Sie es durch numpy.squeeze() laufen:

numpy.squeeze(ff[:10,:,:]) 

und erhalten eine Reihe von Form (10, 96)