2016-12-24 18 views
0

Ich teste derzeit eine NN-Implementierung, in der die Zugdaten in numpy Matrix gespeichert sind.Extrahieren einer Zeile aus einer numpy Matrix

print train_set_data_vstacked_normalized.shape 

(219970,400) 

Die Eingangsdaten zur Zeit wie folgt aussieht, ich habe jede Zeile zu meinem neuronales Netz einzuspeisen ..

Es dauert in der Eingabe der Form (keine, 400).

Wie nehme ich eine Zeile heraus, so dass das Array, das ich aus der Matrix nehme, 400 Einträge oder 400 Spalten und eine Zeile hat?

Ich habe versucht,

print train_set_data_vstacked_normalized[:,0].shape 
(219970,) 

print train_set_data_vstacked_normalized[0,:].shape 
(400,) 
+1

Wie ist 'train_set_data_vstacked_normalized [0,:] .umformen (1.400)'? – Abdou

+0

Versuchen Sie etwas wie 'x [None,:, 0]' oder 'x [:, 0] [None,:]' oder 'x [:, 0] .reshape (1, -1)'. – hpaulj

+0

...? Ich bin nicht sicher, ob ich verstehe, was das tun würde. Die Daten sind bereits richtig strukturiert, und ich möchte Daten weitergeben, die genau zur Form passen. Ich möchte die richtigen Daten übergeben .. –

Antwort

0

Sie benötigen eine einfache for Schleife alle Zeilen des Arrays zu gehen.

nrows = train_set_data_vstacked_normalized.shape 
for i in range(nrows[0]): 
    row = train_set_data_vstacked_normalized[i, :] 

    # now change shape to (1, 400) 
    resized_row = row[np.newaxis] 

    # now, "resized_row" shape is (1, 400) 
    # pass "resized_row" to NN input layer. 
    # ... 

PS: Als Randbemerkung möchte nur daran erinnern, dass im Speicher ~ 220K x 400 Array dauert etwa 670 Mb in meinem Rechner. Betrachten Sie dies als eine HDF5-Datei.

Verwandte Themen