wie numpy vstack zu verwenden

7

Ich habe ewig an diesem (einfachen) Python-Code gearbeitet, und dank dieses Forums bin ich fast da. Ich hoffe wirklich, dass jemand mich dazu bringen kann, es 100% ig zu arbeiten!

Erstens, hier ist der relevante Teil des Codes:

%Vor%

Im Grunde genommen zieht stokes_line immer, wenn der Code umläuft, eine der Spalten (die vierte) aus der Datei 'temp.txt', und ich möchte, dass jedes Mal eine Zeile zu 'stokes_list' hinzugefügt wird.

Zum Beispiel, wenn das erste stokes_line

ist %Vor%

und der zweite ist

%Vor%

dann wird stokes_list

sein %Vor%

und wird weiter wachsen ...

Es funktioniert im Moment nicht, weil ich denke, dass die Zeile:

%Vor%

ist nicht korrekt. Es stapelt nur 2 Listen - das macht Sinn, da ich nur 2 Argumente habe. Ich würde im Grunde gerne wissen, wie ich immer wieder stapeln.

Jede Hilfe wäre sehr dankbar erhalten!
Wenn es benötigt wird, ist hier ein Beispiel für das Format der Datei temp.txt:

%Vor%     
user1551817 06.09.2012, 11:31
quelle

2 Antworten

32

vstack ing immer wieder ist nicht gut, weil es die ganzen Arrays kopiert.

Erstellen Sie ein normales Python list , .append und übergeben Sie es dann ganz an np.vstack , um einmal ein neues Array zu erstellen.

%Vor%     
eumiro 06.09.2012, 11:45
quelle
8

Sie haben jetzt bereits die endgültige Größe des stokes_list -Arrays, da Sie numrows kennen. So scheint es, dass Sie kein Array wachsen müssen (was sehr ineffizient ist). Sie können bei jeder Iteration einfach die richtige Zeile zuweisen. Ersetzen Sie einfach Ihre letzte Zeile durch:

%Vor%

Übrigens, ich denke, dass Sie mit Ihrer nicht funktionierenden Linie gemeint haben:

%Vor%

Hier ersetzen Sie stokes_list durch seinen neuen Wert.

    
Nicolas Barbey 06.09.2012 11:47
quelle

Tags und Links