Kombinieren von NumPy-Arrays

8

Ich habe zwei 20x100x3 NumPy Arrays, die ich zu einem 40 x 100 x 3 Array kombinieren möchte. Fügen Sie einfach weitere Zeilen zum Array hinzu. Ich bin verwirrt durch welche Funktion ich will: ist es vstack, hstack, column_stack oder vielleicht etwas anderes?

    
Double AA 18.07.2011, 22:45
quelle

5 Antworten

23

Ich glaube, es ist vstack du willst

%Vor%     
Giltech 18.07.2011, 22:51
quelle
13

Einer der besten Wege zu lernen ist experimentieren, aber ich würde sagen, Sie wollen np.vstack , obwohl es andere Möglichkeiten gibt, das gleiche zu tun:

%Vor%

oder

%Vor%

BEARBEITEN

Genau wie eine Notiz, auf meiner Maschine für die Größe Arrays in der OP-Frage, finde ich, dass np.concatenate ist etwa 2x schneller als np.vstack

%Vor%     
JoshAdel 18.07.2011 23:25
quelle
9

Könnte erwähnen, dass

%Vor%

ist die allgemeine Form und vstack und hstack sind spezifische Fälle. Ich finde es am einfachsten, nur zu wissen, welche Dimension ich stapeln möchte, und stelle dies als Argument für np.concatenate bereit.

    
i3enhamin 20.07.2011 19:31
quelle
4

Ich habe einen kleinen Benchmark zwischen r_ und vstack ausprobiert und das Ergebnis ist sehr interessant:

%Vor%

Dann habe ich Profiler:

ausgeführt %Vor%

und die Ergebnisse:

%Vor%

Also ist der vstack Weg 77x schneller!

    
Michel Samia 30.01.2013 15:43
quelle
3

Übrigens gibt es auch r_ :

%Vor%     
wim 21.07.2011 03:06
quelle

Tags und Links