Wie füge ich Zeilen und Spalten in ein NUMPY-array?
Hallo, ich habe ein 1000 Datenreihen mit 1500 Punkte in jedem.
Bilden Sie ein (1000x1500) Größe Numpy-array erstellt mit np.Nullen((1500, 1000)) und dann mit den Daten gefüllt.
Was nun, wenn ich möchte das array zu wachsen, zu sagen, 1600 x 1100? Muss ich hinzufügen-arrays mit hstack und vstack oder gibt es eine bessere Möglichkeit?
Ich würde wollen, dass die Daten, die bereits in der 1000x1500 Stück des Arrays nicht geändert werden, nur leere Daten (Nullen) Hinzugefügt, um die untere und die Rechte, im Grunde.
Dank.
InformationsquelleAutor Thomas Browne | 2009-12-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen Nullen in der hinzugefügten Elemente,
my_array.resize((1600, 1000))
funktionieren sollte. Beachten Sie, dass dies unterscheidet sich vonnumpy.resize(my_array, (1600, 1000))
in die vorhergehenden Zeilen sind doppelt, das ist wahrscheinlich nicht das, was Sie wollen.Sonst (zum Beispiel, wenn Sie wollen, um zu vermeiden, Initialisierung der Elemente zu null, das könnte unnötig sein), können Sie tatsächlich nutzen
hstack
undvstack
fügen Sie ein array mit den neuen Elementen;numpy.concatenate()
(siehe pydoc numpy.verketten) sollten auch funktionieren (es ist nur mehr die Allgemeinen, soweit ich das verstanden habe).In jedem Fall würde ich vermuten, dass ein neuer Speicherblock reserviert werden, um erweitern Sie das array, und daß alle diese Methoden, die etwa die gleiche Zeit.
InformationsquelleAutor Eric O Lebigot
Sollte dies tun, was Sie wollen (ie, mit 3x3 array-und 4x4-array zur Darstellung der zwei arrays im OP)
mapping a auf b:
ja, Tippfehler, danke--editieren mein post jetzt.
InformationsquelleAutor doug
Egal was, Sie werden stecken, die Neuzuweisung von einem Speicherblock, also ist es eigentlich egal, wenn Sie
arr.resize()
,np.concatenate
,hstack/vstack
usw. Beachten Sie, dass wenn Sie sich ansammeln, eine Menge von Daten sequentiell, Python Listen sind in der Regel effizienter.InformationsquelleAutor dwf
Sollten Sie verwenden reshape() und/oder resize() je nach Ihrer individuellen Anforderung.
Wenn Sie möchten, Kapitel und vers von den Autoren sind Sie wahrscheinlich besser dran, die Veröffentlichung auf der numpy Diskussionsrunde.
InformationsquelleAutor Simon