Füllen Sie ein numpy Array mit der gleichen Nummer? [Duplikat]

8

Ich weiß, wie man in einem Array mit 100 Elementen mit Null füllt:

%Vor%

Aber was, wenn ich es mit 9 füllen möchte?

    
Hanfei Sun 02.11.2012, 08:55
quelle

4 Antworten

15

Sie können verwenden:

%Vor%

oder auch, wenn Sie die Slicing-Syntax bevorzugen:

%Vor%

np.empty ist das gleiche wie np.ones usw., kann aber etwas schneller sein, da die Daten nicht initialisiert werden.

In neueren numpy Versionen (1.8 oder später) haben Sie auch:

%Vor%     
seberg 02.11.2012, 13:08
quelle
1

Wenn Sie nur den gleichen Wert im gesamten Array haben möchten und Sie ihn nie ändern möchten, können Sie den Schritt durch Null machen. Auf diese Weise würden Sie nur Speicher für einen einzelnen Wert nehmen. Aber Sie würden ein virtuelles numpliges Array beliebiger Größe und Form erhalten.

%Vor%

Beachten Sie jedoch, dass alle Werte im Array geändert werden, wenn Sie eines der Elemente ändern.

    
Senthil Babu 02.11.2012 09:43
quelle
1

Diese Frage wurde schon länger diskutiert, siehe NumPy Array-Initialisierung (füllen Sie mit identischen Werten) , auch für welche Methode ist am schnellsten.

    
Rolf Bartstra 02.11.2012 20:28
quelle
0

Soweit ich sehen kann, gibt es keine spezielle Funktion, um ein Array mit 9s zu füllen. Also sollten Sie ein leeres (dh nicht initialisiertes) Array mit np.empty(100) erstellen und es mit 9s oder was auch immer in einer Schleife füllen.

    
bidifx 02.11.2012 09:03
quelle

Tags und Links